aesGcmDecrypt function
AES-256-GCM decrypt for aesGcmEncrypt output.
Implementation
Uint8List? aesGcmDecrypt(Uint8List key, Uint8List input) {
if (key.length != _aesKeySize || input.length < _nonceSize + 16) {
return null;
}
final nonce = input.sublist(0, _nonceSize);
final encrypted = input.sublist(_nonceSize);
final cipher = GCMBlockCipher(AESEngine())
..init(
false,
AEADParameters(KeyParameter(key), _macBits, nonce, Uint8List(0)),
);
try {
return cipher.process(encrypted);
} on InvalidCipherTextException {
return null;
} on StateError {
return null;
}
}