finish method
Flushes any buffered block (none for CTR) and releases the context.
Implementation
Uint8List finish() {
_checkOpen();
try {
return using((arena) {
final out = arena<UnsignedChar>(cipher.blockSize + 16);
final outl = arena<Int>();
final fn = _encrypt ? ssl.EVP_EncryptFinal_ex : ssl.EVP_DecryptFinal_ex;
checkOne(
fn(_ctx, out, outl),
_encrypt ? 'EVP_EncryptFinal_ex' : 'EVP_DecryptFinal_ex',
);
return fromNative(out, outl.value);
});
} finally {
dispose();
}
}