encrypt method

  1. @override
Future<SecretBox> encrypt(
  1. List<int> clearText, {
  2. required SecretKey secretKey,
  3. List<int>? nonce,
  4. List<int> aad = const <int>[],
  5. int keyStreamIndex = 0,
  6. int? chunkSize,
  7. Uint8List? possibleBuffer,
})
override

Encrypts a cleartext.

Parameter keyStreamIndex allows you to choose offset in the keystream.

For other arguments, see Cipher.encrypt.

Implementation

@override
Future<SecretBox> encrypt(
  List<int> clearText, {
  required SecretKey secretKey,
  List<int>? nonce,
  List<int> aad = const <int>[],
  int keyStreamIndex = 0,
  int? chunkSize,
  Uint8List? possibleBuffer,
}) async {
  nonce ??= newNonce();
  checkParameters(
    length: clearText.length,
    secretKey: secretKey,
    nonceLength: nonce.length,
    aadLength: aad.length,
    keyStreamIndex: keyStreamIndex,
  );
  final state = newState();
  await state.initialize(
    isEncrypting: true,
    secretKey: secretKey,
    nonce: nonce,
    aad: aad,
    keyStreamIndex: keyStreamIndex,
  );
  final cipherText = await state.convert(
    clearText,
    possibleBuffer: possibleBuffer,
    chunkSize: chunkSize,
  );
  return SecretBox(
    cipherText,
    nonce: nonce,
    mac: state.mac,
  );
}