crypt library

Barrel de compatibilidade do módulo de criptografia.

Novos projetos devem importar package:all_crypto/all_crypto.dart. Este entry point continua mantido e reexporta a API completa, inclusive AllCrypto e CryptEnvelope.

import 'package:all_validations_br/crypt.dart';

final key = AllCrypto.generateKey();
final envelope = AllCrypto.encryptText('segredo', key: key);
final encoded = envelope.toBase64(); // nunca inclui a chave
final plain = AllCrypto.decryptText(
  CryptEnvelope.fromBase64(encoded),
  key: key,
);

O que é exportado

Símbolo Descrição
AllCrypto Fachada recomendada com chave externa
CryptEnvelope Payload v2 versionado que nunca serializa a chave
CryptUtil API histórica; serialização Base64 legada está depreciada
AesGcm AES-GCM direto (NIST SP 800-38D)
AesCbc AES-CBC + PKCS#7 direto (NIST SP 800-38A)
AesCtr AES-CTR direto (NIST SP 800-38A)
sha256 Hash SHA-256 (FIPS 180-4)
hmacSha256 / hmacEqual HMAC-SHA256 (RFC 2104)
EncryptedPayload Decoder/modelo legado para compatibilidade
CryptException Exceção de autenticação falha

Classes

AesCbc
Implementação de AES-CBC (NIST SP 800-38A) com padding PKCS#7.
AesCtr
Implementação de AES-CTR (NIST SP 800-38A, modo de contador).
AesGcm
Implementação do cipher autenticado AES-GCM (AEAD) — NIST SP 800-38D.
AllCrypto
Fachada segura recomendada para cifrar/decifrar usando CryptEnvelope.
CryptEnvelope
Envelope seguro e versionado para dados cifrados — nunca serializa a chave.
CryptUtil
Utilitário de criptografia com suporte a múltiplos algoritmos.
EncryptedPayload
Envelope imutável que carrega todos os dados necessários para decifrar uma mensagem — independente do algoritmo usado.

Enums

CryptAlgorithm
Identificadores de algoritmos suportados pelo módulo crypt.

Functions

hmacEqual(List<int> a, List<int> b) bool
Compara dois HMACs em tempo constante para evitar ataques de timing.
hmacSha256(List<int> key, List<int> message) Uint8List
Calcula HMAC-SHA256 para message usando key.
sha256(List<int> data) Uint8List
Calcula o digest SHA-256 de data e retorna 32 bytes.

Exceptions / Errors

CryptException
Exceção lançada quando a autenticação falha durante a decriptação.