decrypt static method

String? decrypt({
  1. String? secretkey = _sharedkey,
  2. String? vector = _sharedkey,
  3. String? text,
})

Implementation

static String? decrypt(
    {String? secretkey = _sharedkey,
    String? vector = _sharedkey,
    String? text}) {
  if (text == null) return null;

  String? decrypted;
  Uint8List encryptedText = base64Decode(text);
  Uint8List key = Uint8List.fromList(utf8.encode(secretkey!));
  Uint8List iv = Uint8List.fromList(utf8.encode(vector!));

  final CBCBlockCipher cbcCipher = CBCBlockCipher(AESEngine());
  final ParametersWithIV<KeyParameter> ivParams =
      ParametersWithIV<KeyParameter>(KeyParameter(key), iv);

  final PaddedBlockCipherParameters<ParametersWithIV<KeyParameter>,
          CipherParameters?> paddingParams =
      PaddedBlockCipherParameters<ParametersWithIV<KeyParameter>,
          CipherParameters?>(ivParams, null);

  final PaddedBlockCipherImpl cipher =
      PaddedBlockCipherImpl(PKCS7Padding(), cbcCipher);
  cipher.init(false, paddingParams);

  try {
    Uint8List clearText = cipher.process(encryptedText);
    decrypted = String.fromCharCodes(clearText);
  } catch (e) {
    Log().exception(e);
  }
  return decrypted;
}