Miklix

Calculadora de código hash MurmurHash3F

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

Calculadora de código hash que usa a função hash MurmurHash3F 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:

MurmurHash3F Hash Code Calculator

MurmurHash3 é uma função hash não criptográfica projetada por Austin Appleby em 2008. É amplamente usada para hash de propósito 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, que é otimizada para sistemas de 64 bits. Ela produz códigos hash de 128 bits (16 bytes), tipicamente representados como um número hexadecimal de 32 dígitos.

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 MurmurHash3F

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 matemática completa e cientificamente correta, tenho certeza de que poderá encontrá-la em outro lugar ;-)

Agora, imagine que você tem uma grande caixa de peças LEGO. Cada vez que você as organiza de uma forma específica, você tira uma foto. Não importa quão grande ou colorido o arranjo seja, a câmera sempre lhe dá uma foto pequena e de tamanho fixo. Essa foto representa sua criação LEGO, mas em uma forma compacta.

MurmurHash3 faz algo parecido com dados. Ele pega qualquer tipo de dado (texto, números, arquivos) e o reduz a uma pequena "impressão digital" fixa ou valor hash. Essa impressão digital ajuda os computadores a identificar, classificar e comparar dados rapidamente sem precisar olhar para a coisa toda.

Outra analogia seria como assar um bolo e MurmurHash3 é a receita para transformar esse bolo em um pequeno cupcake (o hash). Esse seria um processo de três etapas:

Etapa 1: Corte em pedaços (quebrando os dados)

  • Primeiro, o MurmurHash3 divide seus dados em pedaços iguais, como se estivesse cortando um bolo em quadrados iguais.

Etapa 2: Misture como louco (misturando os pedaços)

  • Cada peça passa por um processo de mistura selvagem:
    • Inversão: como virar uma panqueca, ele 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 destaque.

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é mesmo a menor alteração nos dados originais mudaria totalmente o sabor (o hash).

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.