Calculadora de código hash Fowler-Noll-Vo FNV1a-32
Publicado: 18 de fevereiro de 2025 às 00:09:39 UTC
Última atualização: 12 de janeiro de 2026 às 13:28:24 UTC
Fowler-Noll-Vo FNV1a-32 Hash Code Calculator
A função hash FNV-1a de 32 bits faz parte da família de funções hash Fowler-Noll-Vo (FNV), projetada para realizar hashing rápido, mantendo uma boa distribuição dos valores de hash. É comumente usada em aplicações como tabelas hash, checksums e consultas de dados. Ela produz um código hash de 32 bits (4 bytes), frequentemente representado como um número hexadecimal de 8 dígitos.
Variante FNV-1a é uma versão aprimorada da função FNV-1 original, com maior segurança.
Divulgação completa: não escrevi a implementação específica da função hash usada nesta página. Ela é uma função padrão incluída na linguagem de programação PHP. Apenas criei a interface da Web para disponibilizá-la publicamente aqui por conveniência.
Sobre o algoritmo de hash de 32 bits Fowler-Noll-Vo FNV-1a
Não sou matemático, mas vou tentar explicar essa função hash usando uma analogia que meus colegas não matemáticos possam entender. Se você preferir uma explicação cientificamente correta e com matemática complexa, tenho certeza de que você pode encontrá-la em outro lugar ;-)
Primeiro, vamos pensar no algoritmo FNV-1 como uma receita para fazer um smoothie especial. Cada ingrediente que você adiciona (como frutas, leite ou mel) representa um dado — como letras, números ou até mesmo um arquivo inteiro.
O objetivo agora é misturar esses ingredientes de uma maneira muito específica, de forma que até a menor alteração na receita (como adicionar um mirtilo a mais) faça o smoothie ter um sabor completamente diferente. É assim que as funções hash funcionam: elas criam um "sabor" (ou valor hash) único para cada conjunto único de ingredientes (ou dados de entrada).
O algoritmo FNV-1 funciona através de um processo de várias etapas:
Passo 1: Comece com uma base (base de deslocamento)
Imagine que você está colocando uma base especial para smoothie no seu liquidificador. Essa base é sempre a mesma, independentemente dos ingredientes que você adicionar. No FNV-1, isso é chamado de "base offset" - apenas um número inicial sofisticado.
Etapa 2: Adicione os ingredientes um a um (Processamento de dados)
Agora você começa a adicionar os ingredientes, um de cada vez - digamos, um morango, depois uma banana e depois um pouco de mel. Cada um deles representa um byte de dados.
Passo 3: Combine com um Multiplicador Secreto (O FNV Prime)
Após adicionar cada ingrediente, você aperta o botão de misturar, mas aqui está o truque: o liquidificador multiplica tudo por um "número mágico" secreto chamado FNV prime. Isso ajuda a misturar tudo muito bem.
Passo 4: Adicione um toque de magia (Operação XOR)
Antes de adicionar o próximo ingrediente, você polvilha um pouco de pó mágico (essa é a operação XOR). É como inverter o sabor de maneiras inesperadas, garantindo que até mesmo pequenas mudanças façam uma grande diferença.
Passo 5: Repita até terminar.
Você continua misturando e adicionando um toque de magia após cada novo ingrediente até processar tudo.
Etapa 6: Smoothie final (Valor de hash)
Quando terminar, despeje o smoothie. O sabor final (o valor de hash) é único para aquela combinação exata de ingredientes. Se você tivesse adicionado um único mirtilo a mais, o sabor seria completamente diferente.
Versão apresentada aqui é a versão aprimorada de 32 bits do FNV-1a. Se você precisar da versão original, também tenho uma calculadora para ela: Link
Leitura adicional
Se você gostou deste post, você também pode gostar destas sugestões:
- Calculadora de código de hash RIPEMD-128
- Calculadora de código de hash SHA-512
- Calculadora de código Hash HAVAL-224/3
