A Flutter plugin for native crypto APIs.
iOS | Android | macOS |
---|---|---|
✅ | ✅ | ✅ |
///
/// Encrypts [plaintext] using AES-GCM based on [key] and [nonce].
///
/// Valid key lengths are 128, 192, or 256 bits.
/// Returns a [SealedBox] containing a [ciphertext] and a [mac].
Future<SealedBox> aesEncrypt(
{required Uint8List plaintext,
required Uint8List key,
required Uint8List nonce});
///
/// Decrypts [ciphertext] with AES-GCM based on [key], [nonce] and [mac].
///
/// Valid key lengths are 128, 192, or 256 bits.
/// Returns a [Uint8List] as decrypted data.
Future<Uint8List> aesDecrypt(
{required Uint8List ciphertext,
required Uint8List key,
required Uint8List nonce,
required Uint8List mac});
final plugin = QuickNativeCrypto();
var sealedBox = await plugin.aesEncrypt(...);
var plaintext = await plugin.aesDecrypt(...);