Gerador de Hash FNV
Função hash não criptográfica Fowler-Noll-Vo
-
-
-
-
Sobre Hash FNV
O que é Hash FNV?
FNV (Fowler-Noll-Vo) é uma função hash não criptográfica criada por Glenn Fowler, Landon Curt Noll e Kiem-Phong Vo. Foi publicada pela primeira vez em 1991 e é conhecida por sua simplicidade, velocidade e boas propriedades de distribuição. FNV é amplamente usado em tabelas hash, checksums e fingerprinting de dados.
Variantes do algoritmo
- FNV-1a: A variante melhorada que faz XOR do byte com o hash primeiro, depois multiplica. Recomendada para a maioria dos casos de uso devido às melhores características de avalanche.
- FNV-1: A variante original que multiplica primeiro, depois faz XOR. Ainda útil, mas FNV-1a é geralmente preferido.
Comprimentos de bits disponíveis
- 32-bit: Saída hexadecimal de 8 caracteres. Rápido e adequado para tabelas hash com tamanhos de dados moderados.
- 52-bit: Saída hexadecimal de 13 caracteres. Otimizado para o intervalo de inteiros seguros de 53 bits do JavaScript. Bom equilíbrio entre velocidade e resistência a colisões.
- 64-bit: Saída hexadecimal de 16 caracteres. Maior espaço hash para reduzir a probabilidade de colisões em grandes conjuntos de dados.
Casos de uso comuns
- Tabelas hash e mapas para buscas rápidas de chaves
- Deduplicação de dados e fingerprinting de conteúdo
- Verificação de checksum para integridade de dados
- Filtros Bloom e estruturas de dados probabilísticas
O hash FNV não é criptograficamente seguro. Não o use para senhas, assinaturas digitais ou aplicações sensíveis à segurança. Para casos de uso criptográficos, use SHA-256 ou BLAKE2.
Ferramentas Relacionadas
Gerador MurmurHash
Função hash não-criptográfica de alto desempenho para tabelas hash, filtros Bloom e particionamento de dados
Gerador xxHash
Hash não-criptográfico extremamente rápido suportando xxHash32, xxHash64, xxHash3 e xxHash128
Calculadora CRC
Calcule checksums CRC-8, CRC-16, CRC-32, CRC-64 com suporte para Modbus, CCITT e outros padrões de protocolo
Gerador de Hash SHA-3 / Keccak
Gera hashes SHA3-224/256/384/512 e Keccak com aceleração WebAssembly, usado no Ethereum