decryptAny static method
Decifra payload despachando para o algoritmo correto automaticamente.
Lê o campo EncryptedPayload.algorithm e chama o método correspondente.
Algoritmos suportados: chacha20-poly1305, aes-gcm, aes-cbc, aes-ctr.
Lança CryptException para algoritmos desconhecidos.
final plain = CryptUtil.decryptAny(payload); // funciona com qualquer algoritmo
Implementation
static List<int> decryptAny(EncryptedPayload payload) {
switch (payload.algorithm) {
case 'chacha20-poly1305':
return decryptBytes(payload);
case 'aes-gcm':
return decryptAesGcm(payload);
case 'aes-cbc':
return decryptAesCbc(payload);
case 'aes-ctr':
return decryptAesCtr(payload);
default:
throw CryptException(
'CryptUtil.decryptAny: algoritmo não suportado: "${payload.algorithm}".');
}
}