EncryptedPayload constructor
EncryptedPayload({})
Cria um EncryptedPayload com os campos fornecidos.
tag e aad são opcionais e assumem Uint8List(0) por padrão —
útil para modos não autenticados (AES-CBC, AES-CTR) e payloads
sem AAD.
Uso normal: prefira os métodos de CryptUtil — eles preenchem todos os campos corretamente.
Interop com sistemas externos: preencha manualmente quando o ciphertext e as chaves vierem de fora da lib (veja exemplos na documentação da classe):
final payload = EncryptedPayload(
algorithm: CryptAlgorithm.aesCbc,
ciphertext: base64.decode(responseBody),
key: utf8.encode(Flavors.aesKey),
nonce: utf8.encode(Flavors.aesIv),
// tag e aad omitidos → Uint8List(0) automaticamente
);
Implementation
EncryptedPayload({
required this.ciphertext,
required this.key,
required this.nonce,
Uint8List? tag,
Uint8List? aad,
this.algorithm = CryptAlgorithm.chacha20Poly1305,
}) : tag = tag ?? Uint8List(0),
aad = aad ?? Uint8List(0);