Miklix

Calculadora de código hash Fowler-Noll-Vo FNV1a-32

Publicado: 18 de fevereiro de 2025 às 00:09:39 UTC

Calculadora de código hash que usa a função hash Fowler-Noll-Vo 1a de 32 bits (FNV1a-32) para calcular um código hash com base na entrada de texto ou no upload de arquivo.

Esta página foi traduzida automaticamente do inglês para torná-la acessível ao maior número possível de pessoas. Infelizmente, a tradução automática ainda não é uma tecnologia aperfeiçoada, portanto, podem ocorrer erros. Se preferir, você pode visualizar a versão original em inglês aqui:

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 hash rápido, mantendo uma boa distribuição de valores hash. É comumente usada em aplicativos como tabelas hash, somas de verificação e pesquisas de dados. Ela produz um código hash de 32 bits (4 bytes), geralmente representado como um número hexadecimal de 8 dígitos.

A variante FNV-1a é uma versão melhorada da função FNV-1 original com melhor 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.


Calcolo del nuovo codice Hash

Os dados enviados ou os arquivos carregados por meio deste formulário serão mantidos no servidor somente pelo tempo necessário para gerar o código hash solicitado. Eles serão excluídos imediatamente antes de o resultado ser retornado ao seu navegador.

Dados de entrada:



O texto enviado é codificado em UTF-8. Como as funções de hash operam em dados binários, o resultado será diferente do que seria se o texto estivesse em outra codificação. Se você precisar calcular um hash de um texto em uma codificação específica, deverá carregar um arquivo.



Sobre o algoritmo de hash Fowler-Noll-Vo FNV-1a de 32 bits

Não sou matemático, mas tentarei 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 assustadoramente matemática, tenho certeza de que poderá 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 pedaço de dados - como letras, números ou até mesmo um arquivo inteiro.

Agora, o objetivo é misturar esses ingredientes de uma forma bem específica para que até mesmo a menor mudança na receita (como adicionar um mirtilo extra) faça o smoothie ter um gosto 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).

A maneira como o algoritmo FNV-1 faz isso é um processo de várias etapas:

Etapa 1: Comece com uma base (base offset)

Pense nisso como despejar uma base especial de smoothie no seu liquidificador. Essa base é sempre a mesma, não importa quais ingredientes você adicione. No FNV-1, isso é chamado de "base offset" - apenas um número inicial chique.

Etapa 2: Adicionar ingredientes um por um (processamento de dados)

Agora você começa a adicionar seus ingredientes, um de cada vez - digamos um morango, depois uma banana, depois um pouco de mel. Cada um deles representa um byte de dados.

Etapa 3: Misture com um multiplicador secreto (o FNV Prime)

Depois de adicionar cada ingrediente, você aperta o botão de misturar, mas aqui está a pegadinha: o liquidificador multiplica tudo por um "número mágico" secreto chamado FNV prime. Isso ajuda a misturar as coisas muito bem.

Etapa 4: Adicione uma pitada 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é pequenas mudanças façam uma grande diferença.

Etapa 5: repita até terminar

Continue misturando e polvilhando 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 ao menos um mirtilo extra, o sabor seria completamente diferente.

A versão apresentada aqui é a versão melhorada do FNV-1a 32 bits. Se você precisar da versão original, também tenho uma calculadora para isso: Calculadora de código hash Fowler-Noll-Vo FNV1-32

Compartilhe no BlueskyCompartilhe no FacebookCompartilhe no LinkedInCompartilhe no TumblrCompartilhar em XCompartilhe no LinkedInFixar no Pinterest

Mikkel Bang Christensen

Sobre o autor

Mikkel Bang Christensen
Mikkel é o criador e proprietário do miklix.com. Ele tem mais de 20 anos de experiência como programador de computador/desenvolvedor de software profissional e atualmente trabalha em tempo integral para uma grande empresa europeia de TI. Quando não está blogando, ele dedica seu tempo livre a uma grande variedade de interesses, hobbies e atividades, o que pode, até certo ponto, refletir-se na variedade de tópicos abordados neste site.