Calculadora de código hash MurmurHash3F
Publicado: 18 de fevereiro de 2025 às 00:28:11 UTC
Calculadora de código hash que utiliza a função hash MurmurHash3F para calcular um código hash com base na introdução de texto ou no carregamento de ficheiros.MurmurHash3F Hash Code Calculator
MurmurHash3 é uma função de hash não criptográfica concebida por Austin Appleby em 2008. É amplamente utilizada para hash de uso geral devido à sua velocidade, simplicidade e boas propriedades de distribuição. As funções MurmurHash são particularmente eficazes para estruturas de dados baseadas em hash, como tabelas de hash, filtros bloom e sistemas de desduplicação de dados.
A variante apresentada nesta página é a variante 3F, otimizada para sistemas de 64 bits. Produz códigos hash de 128 bits (16 bytes), normalmente representados como um número hexadecimal de 32 dígitos.
Divulgação completa: eu não escrevi a implementação específica da função hash usada nesta página. Trata-se de uma função padrão incluída na linguagem de programação PHP. Apenas criei a interface Web para a tornar publicamente disponível aqui por conveniência.
Sobre o algoritmo de hash MurmurHash3F
Não sou matemático, mas tentarei explicar esta função hash usando uma analogia que os meus colegas não matemáticos possam compreender. Se preferir uma explicação matemática completa e cientificamente correcta, tenho a certeza que poderá encontrá-la noutro lugar ;-)
Agora, imagine que tem uma caixa grande de peças LEGO. Cada vez que os organiza de uma forma específica, tira uma fotografia. Não importa quão grande ou colorido seja o arranjo, a câmara dar-lhe-á sempre uma fotografia pequena e de tamanho fixo. Esta foto representa a sua criação LEGO, mas de forma compacta.
MurmurHash3 faz algo semelhante com dados. Pega em qualquer tipo de dados (texto, números, ficheiros) e reduz-nos a um pequeno e fixo valor de "impressão digital" ou hash. Esta impressão digital ajuda os computadores a identificar, classificar e comparar dados rapidamente sem ter de olhar para tudo.
Outra analogia seria como cozer um bolo e MurmurHash3 é a receita para transformar esse bolo num pequeno bolinho (o hash). Este seria um processo de três etapas:
Passo 1: Corte em pedaços (quebrando os dados)
- Primeiro, o MurmurHash3 divide os seus dados em pedaços iguais, como se estivesse a cortar um bolo em quadrados iguais.
Passo 2: Misture como um louco (misturando os pedaços)
- Cada peça passa por um processo de mistura selvagem:
- Inversão: como virar uma panqueca, reorganiza os pedaços.
- Mexendo: Adiciona ingredientes aleatórios (operações matemáticas) para misturar as coisas.
- Compressão: Comprime os dados para garantir que nenhuma parte original se destaca.
Etapa 3: Teste de sabor final (finalização)
- Depois de misturar todos os pedaços, o MurmurHash3 dá uma última mexida para garantir que até a mais pequena alteração aos dados originais alteraria totalmente o sabor (o hash).