aesDecrypt static method
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,
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);
}