aesEncrypt static method

String aesEncrypt({
  1. required String plainText,
  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 aesEncrypt({
  required String plainText,
  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 pt = _u8(plainText);
  final Uint8List ct = switch (mode) {
    UAesMode.cbc => _aesCbc(k, v, pt, true, padding),
    UAesMode.ecb => _aesEcb(k, pt, true, padding),
    UAesMode.ctr || UAesMode.sic => _aesCtr(k, v, pt),
    UAesMode.cfb64 => _aesCfb(k, v, pt, true),
    UAesMode.ofb64 || UAesMode.ofb64Gctr => _aesOfb(k, v, pt),
    UAesMode.gcm => _aesGcmEncrypt(k, v, pt, Uint8List(0)),
  };
  return base64.encode(ct);
}