cryptoSecretboxDetached static method
Implementation
static DetachedCipher cryptoSecretboxDetached(
Uint8List m, Uint8List n, Uint8List k) {
RangeError.checkValueInInterval(n.length, cryptoSecretboxNoncebytes,
cryptoSecretboxNoncebytes, 'n', 'Invalid length');
RangeError.checkValueInInterval(k.length, cryptoSecretboxKeybytes,
cryptoSecretboxKeybytes, 'k', 'Invalid length');
final _c = calloc<Uint8>(m.length);
final _mac = calloc<Uint8>(cryptoSecretboxMacbytes);
final _m = m.toPointer();
final _n = n.toPointer();
final _k = k.toPointer();
try {
_cryptoSecretbox
.crypto_secretbox_detached(_c, _mac, _m, m.length, _n, _k)
.mustSucceed('crypto_secretbox_detached');
return DetachedCipher(
c: _c.toList(m.length), mac: _mac.toList(cryptoSecretboxMacbytes));
} finally {
calloc.free(_c);
calloc.free(_mac);
calloc.free(_m);
calloc.free(_n);
calloc.free(_k);
}
}