1001Ferramentas
🔢Geradores

Gerador de Hash BLAKE3 (Placeholder)

Hash BLAKE3 simplificado (variante didática baseada em sha-256). Para uso real prefira biblioteca dedicada @noble/hashes.

BLAKE3: hash criptográfico moderno, paralelo e extensível

O BLAKE3 é uma função de hash criptográfica lançada em 2020 por Jack O'Connor, Samuel Neves, Jean-Philippe Aumasson e Zooko Wilcox-O'Hearn. É o sucessor direto do BLAKE2, descendente do BLAKE que foi finalista da competição NIST SHA-3 (2007–2012). O BLAKE3 preserva o núcleo de compressão da família mas simplifica drasticamente o desenho: um único algoritmo com três modos, número de rodadas fixo e uma estrutura interna de árvore de Merkle que torna a função nativamente paralelizável. A saída padrão é de 256 bits (32 bytes, 64 caracteres hexadecimais), mas a construção é uma XOF (extendable-output function): pode-se pedir qualquer tamanho até 264 bytes do mesmo estado interno.

A performance é o principal trunfo do BLAKE3. Em uma CPU x86-64 moderna com AVX-512 ele roda cerca de 5x mais rápido que SHA-3, 3x mais rápido que SHA-256 e 6x mais rápido que SHA-512 em uma única thread. Como a entrada é dividida em chunks de 1 KiB combinados em uma árvore binária, o BLAKE3 escala em todos os núcleos da CPU e em todos os lanes SIMD — algo que SHA-2 e SHA-3 não fazem sem uma construção paralela externa. ARM NEON é suportado da mesma forma.

Três modos de operação

O BLAKE3 oferece uma API unificada com três modos:

  • hash — hash criptográfico padrão, substituto direto do sha256sum.
  • keyed_hash — MAC nativo com chave de 256 bits, substituindo HMAC sem a construção externa/interna.
  • derive_key — KDF baseado em context string, ideal para separação de chaves por aplicação.

Nível de segurança

O BLAKE3 mira 128 bits de segurança (resistência a colisões) na saída padrão de 256 bits, o mesmo patamar de BLAKE2b-256 e SHA-256. Após anos de análise pública não há ataque prático conhecido. Não é um padrão NIST, mas a adoção cresce rápido: o compilador Rust (rustc) 1.49+ usa BLAKE3 para o cache de compilação incremental, o Tor avaliou o algoritmo para identificadores de circuito e diversos projetos de armazenamento orientado a conteúdo (e experimentos do IPFS) preferem-no pela vazão bruta.

Implementações de referência

A implementação canônica é o crate Rust blake3; o projeto também publica uma implementação de referência em C e bindings Python (pip install blake3). Exemplo rápido em CLI usando o utilitário standalone b3sum:

$ echo -n "olá" | b3sum
2c9a2d3c... -

Perguntas frequentes

O BLAKE3 foi aprovado pelo NIST? Não. O NIST padronizou SHA-2 (FIPS 180-4) e SHA-3 (FIPS 202). O BLAKE3 não tem certificação oficial, mas tem adoção forte em ecossistemas open-source, especialmente na comunidade Rust.

Posso substituir SHA-256 por BLAKE3 em checksums de arquivos? Tecnicamente sim — a segurança é comparável e a velocidade é muito superior — mas interoperabilidade é o ponto. Se outras pessoas precisam verificar o hash, elas devem ter uma ferramenta BLAKE3 instalada. Para pipelines internos ou protocolos novos é excelente; para artefatos públicos, SHA-256 ainda é a língua franca.

BLAKE3 vs BLAKE2: o que mudou? O BLAKE3 tem uma única configuração fixa (BLAKE2 tinha variantes), número menor de rodadas (7 contra 10/12), modo de árvore paralelo nativo, saída XOF nativa e os modos keyed/derive — recursos que o BLAKE2 não oferecia ou exigia construções separadas.

Posso usar BLAKE3 para armazenar senhas? Nenhuma função de hash genérica é adequada para senhas. Use Argon2id, scrypt ou bcrypt; a velocidade do BLAKE3 piora a situação aqui porque acelera ataques de força bruta offline.

A ferramenta envia meus dados para algum servidor? Não. O hash é calculado inteiramente no seu navegador via JavaScript — a entrada nunca sai da página.

Ferramentas Relacionadas