decryptAny static method

List<int> decryptAny(
  1. EncryptedPayload payload
)

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 CryptAlgorithm.chacha20Poly1305:
      return decryptBytes(payload);
    case CryptAlgorithm.aesGcm:
      return decryptAesGcm(payload);
    case CryptAlgorithm.aesCbc:
      return decryptAesCbc(payload);
    case CryptAlgorithm.aesCtr:
      return decryptAesCtr(payload);
  }
}