crypt library

Módulo de criptografia do all_validations_br.

Importação separada para projetos que usam apenas o módulo crypt, sem trazer validações, máscaras ou formatadores.

import 'package:all_validations_br/crypt.dart';

final key     = CryptUtil.generateKey();
final payload = CryptUtil.encryptAesGcm(utf8.encode('segredo'), key: key);
final plain   = CryptUtil.decryptAny(payload);

O que é exportado

Símbolo Descrição
CryptUtil API unificada — encrypt/decrypt para todos os algoritmos
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 Modelo de payload — JSON/Base64
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.
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.