CoderTools

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