aesDecrypt static method

String aesDecrypt({
  1. required String base64Encrypted,
  2. required String key,
  3. required String iv,
  4. UAesMode mode = UAesMode.cbc,
  5. bool padding = true,
  6. UByteEncoding keyEncoding = UByteEncoding.utf8,
  7. UByteEncoding ivEncoding = UByteEncoding.utf8,
})

Implementation

static String aesDecrypt({
  required String base64Encrypted,
  required String key,
  required String iv,
  UAesMode mode = UAesMode.cbc,
  bool padding = true,
  UByteEncoding keyEncoding = UByteEncoding.utf8,
  UByteEncoding ivEncoding = UByteEncoding.utf8,
}) {
  final Uint8List k = _bytes(key, keyEncoding);
  final Uint8List v = _bytes(iv, ivEncoding);
  final Uint8List ct = base64.decode(base64Encrypted);
  final Uint8List pt = switch (mode) {
    UAesMode.cbc => _aesCbc(k, v, ct, false, padding),
    UAesMode.ecb => _aesEcb(k, ct, false, padding),
    UAesMode.ctr || UAesMode.sic => _aesCtr(k, v, ct),
    UAesMode.cfb64 => _aesCfb(k, v, ct, false),
    UAesMode.ofb64 || UAesMode.ofb64Gctr => _aesOfb(k, v, ct),
    UAesMode.gcm => _aesGcmDecrypt(k, v, ct, Uint8List(0)),
  };
  return utf8.decode(pt);
}