MurmurHash3A Hash-kode sakrekenaar
Gepubliseer: 18 Februarie 2025 om 00:41:42 UTC
Laas opgedateer: 12 Januarie 2026 om 13:33:23 UTC
MurmurHash3A Hash Code Calculator
MurmurHash3 is 'n nie-kriptografiese hash-funksie wat in 2008 deur Austin Appleby ontwerp is. Dit word wyd gebruik vir algemene hashing as gevolg van die spoed, eenvoud en goeie verspreidingseienskappe. MurmurHash-funksies is veral effektief vir hash-gebaseerde datastrukture soos hash-tabelle, bloeifilters en data-deduplikasiestelsels.
Die variant wat op hierdie bladsy aangebied word, is die 3A-variant, wat geoptimaliseer is vir 32-bis-stelsels. Dit produseer 32-bis (4-greep) hash-kodes, tipies voorgestel as 'n 8-syfer heksadesimale getal.
Volledige openbaarmaking: Ek het nie die spesifieke implementering van die hash-funksie wat op hierdie bladsy gebruik word, geskryf nie. Dit is 'n standaardfunksie wat by die PHP-programmeertaal ingesluit is. Ek het net die webkoppelvlak gemaak om dit vir gerief hier publiek beskikbaar te maak.
Oor die MurmurHash3A Hash-algoritme
Ek is nie 'n wiskundige nie, maar ek sal probeer om hierdie hash-funksie te verduidelik deur 'n analogie te gebruik wat my mede-nie-wiskundiges kan verstaan. As jy 'n wetenskaplik korrekte, volledige wiskundige verduideliking verkies, is ek seker jy kan dit elders vind ;-)
Stel jou nou voor jy het 'n groot boks LEGO-stene. Elke keer as jy hulle op 'n spesifieke manier rangskik, neem jy 'n foto. Maak nie saak hoe groot of kleurvol die rangskikking is nie, die kamera gee jou altyd 'n klein foto van 'n vaste grootte. Daardie foto verteenwoordig jou LEGO-skepping, maar in 'n kompakte vorm.
MurmurHash3 doen iets soortgelyks met data. Dit neem enige soort data (teks, syfers, lêers) en verklein dit tot 'n klein, vaste "vingerafdruk" of hash-waarde. Hierdie vingerafdruk help rekenaars om data vinnig te identifiseer, te sorteer en te vergelyk sonder om na die hele ding te kyk.
Nog 'n analogie sou wees soos om 'n koek te bak en MurmurHash3 is die resep om daardie koek in 'n klein kolwyntjie (die hash) te omskep. Dit sou 'n drie-stap proses wees:
Stap 1: Kap in stukke (Breek die data)
- Eerstens sny MurmurHash3 jou data in gelyke stukke, soos om die koek in ewe vierkante te sny.
Stap 2: Meng soos mal (Meng die stukkies)
- Elke stuk gaan deur 'n wilde mengproses: Omdraai: Soos om 'n pannekoek om te draai, herrangskik dit die stukkies. Roer: Voeg ewekansige bestanddele (wiskundige bewerkings) by om dinge te meng. Druk: Druk die data saam om seker te maak geen oorspronklike stuk staan uit nie.
Stap 3: Finale Smaaktoets (Finalisering)
- Nadat al die stukkies gemeng is, roer MurmurHash3 dit nog een laaste keer om te verseker dat selfs die kleinste krummeltjie verandering in die oorspronklike data die geur (die hash) heeltemal sal verander.
Verdere Leeswerk
As jy hierdie plasing geniet het, sal jy dalk ook van hierdie voorstelle hou:
