decryptEncryptionResultWithKey method

  1. @override
Future<Uint8List> decryptEncryptionResultWithKey(
  1. EncryptionResult encryptionResult,
  2. EncryptionKey key
)
override

decrypts a EncryptionResult object obtained from encryptWithKey() using key, use this method to avoid unnescessary serialisation/de-serilaisation during decryption

Implementation

@override
Future<Uint8List> decryptEncryptionResultWithKey(
    EncryptionResult encryptionResult, EncryptionKey key) {
  final mac = Mac(encryptionResult.encryptionArtefacts.authTag);
  final secretBox = SecretBox(encryptionResult.cipherText,
      nonce: encryptionResult.encryptionArtefacts.nonce, mac: mac);
  return _cipher
      .decrypt(
        secretBox,
        aad: encryptionResult.encryptionArtefacts.authData,
        secretKey: SecretKey((key as SymmetricKey).bytes),
      )
      .then((value) => Uint8List.fromList(value));
}