decryptTextToMap static method

Map? decryptTextToMap(
  1. String? textData,
  2. String textKey
)

Implementation

static Map? decryptTextToMap(String? textData, String textKey) {
  if (textData == null) return null;
  if (!textData.startsWith('enc')) return null;

  final encryptionPassword = _getModifiedPasswordFrom(textKey.safeSubString(0, 4)!);

  final iv = IV.fromUtf8(_getModifiedIvPasswordFrom(textKey));
  final data = textData.substring(6);

  final encrypter = Encrypter(
    AES(
      Key.fromUtf8(encryptionPassword),
      mode: AESMode.cbc,
    ),
  );
  try {
    final decrptedData = encrypter.decrypt64(data, iv: iv);
    if (decrptedData is! String) return null;
    return json.decode(decrptedData) as Map?;
  } catch (err) {
    return null;
  }
}