MurmurHash3A Hashcodecalculator
Gepubliceerd: 18 februari 2025 om 00:39:27 UTC
Laatst bijgewerkt: 12 januari 2026 om 13:33:08 UTC
MurmurHash3A Hash Code Calculator
MurmurHash3 is een niet-cryptografische hashfunctie, ontworpen door Austin Appleby in 2008. Vanwege de snelheid, eenvoud en goede distributie-eigenschappen wordt deze functie veel gebruikt voor algemene hashing-toepassingen. MurmurHash-functies zijn met name effectief voor hash-gebaseerde datastructuren zoals hashtabellen, Bloom-filters en systemen voor het verwijderen van dubbele gegevens.
De variant die op deze pagina wordt gepresenteerd, is de 3A-variant, die is geoptimaliseerd voor 32-bits systemen. Deze produceert 32-bits (4-byte) hashcodes, die doorgaans worden weergegeven als een hexadecimaal getal van 8 cijfers.
Full disclosure: Ik heb de specifieke implementatie van de hashfunctie die op deze pagina wordt gebruikt niet geschreven. Het is een standaardfunctie die wordt meegeleverd met de programmeertaal PHP. Ik heb alleen de webinterface gemaakt om hem hier voor het gemak publiekelijk beschikbaar te maken.
Over het MurmurHash3A-hashalgoritme
Ik ben geen wiskundige, maar ik zal proberen deze hashfunctie uit te leggen met een analogie die mijn niet-wiskundige medemensen kunnen begrijpen. Als je liever een wetenschappelijk correcte, volledig wiskundige uitleg wilt, kun je die vast wel elders vinden ;-)
Stel je voor dat je een grote doos LEGO-blokjes hebt. Elke keer dat je ze op een bepaalde manier rangschikt, maak je een foto. Hoe groot of kleurrijk de creatie ook is, de camera geeft je altijd een kleine foto van een vast formaat. Die foto representeert je LEGO-creatie, maar dan in een compacte vorm.
MurmurHash3 doet iets soortgelijks met data. Het neemt elk type data (tekst, getallen, bestanden) en reduceert het tot een kleine, vaste 'vingerafdruk' of hashwaarde. Deze vingerafdruk helpt computers om data snel te identificeren, sorteren en vergelijken zonder de volledige dataset te hoeven bekijken.
Een andere analogie zou zijn: je bakt een cake en MurmurHash3 is het recept om die cake om te toveren tot een kleine cupcake (de hash). Dit is een proces in drie stappen:
Stap 1: In stukken hakken (de gegevens opsplitsen)
- MurmurHash3 verdeelt je data eerst in gelijke stukken, net zoals je een taart in gelijke vierkanten snijdt.
Stap 2: Alles goed door elkaar mengen (de stukjes mengen)
- Elk onderdeel ondergaat een wild mengproces: Omdraaien: Net als het omdraaien van een pannenkoek, worden de stukjes herschikt. Roeren: Er worden willekeurige ingrediënten (mathematische bewerkingen) toegevoegd om alles door elkaar te mengen. Samenpersen: De gegevens worden samengedrukt zodat geen enkel origineel onderdeel meer opvalt.
Stap 3: Laatste smaaktest (afronding)
- Nadat alle stukjes zijn gemengd, roert MurmurHash3 het geheel nog een laatste keer door om ervoor te zorgen dat zelfs de kleinste verandering in de oorspronkelijke gegevens de smaak (de hash) volledig verandert.
Verder lezen
Als je dit bericht leuk vond, vind je deze suggesties misschien ook interessant:
