MurmurHash3C Hash-kode sakrekenaar
Gepubliseer: 18 Februarie 2025 om 00:36:20 UTC
Hash-kode sakrekenaar wat die MurmurHash3C-hash-funksie gebruik om 'n hash-kode te bereken op grond van teksinvoer of lêeroplaai.MurmurHash3C Hash Code Calculator
MurmurHash3 is 'n nie-kriptografiese hash-funksie wat in 2008 deur Austin Appleby ontwerp is. Dit word wyd gebruik vir algemene doeleindes as gevolg van sy spoed, eenvoud en goeie verspreidingseienskappe. MurmurHash-funksies is veral effektief vir hash-gebaseerde datastrukture soos hash-tabelle, blomfilters en data-dedupliseringstelsels.
Die variant wat op hierdie bladsy aangebied word, is die 3C-variant, wat geoptimaliseer is vir 32-bis-stelsels, dieselfde as die 3A-variant. Anders as die 3A-variant, produseer dit egter 128 bis (16 byte) hash-kodes, tipies voorgestel as 'n 32-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 MurmurHash3C Hash-algoritme
Ek is nie 'n wiskundige nie, maar ek sal probeer om hierdie hash-funksie te verduidelik met behulp van 'n analogie wat my mede-nie-wiskundiges kan verstaan. As u 'n wetenskaplik korrekte, volledige wiskundige verduideliking verkies, is ek seker dat u dit elders kan vind ;-)
Stel jou nou voor dat jy 'n groot boks LEGO-stene het. 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, vaste grootte foto. Daardie foto verteenwoordig jou LEGO-skepping, maar in 'n kompakte vorm.
MurmurHash3 doen iets soortgelyks met data. Dit neem enige soort data (teks, getalle, lêers) en krimp dit af 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.
'N Ander analogie is soos om 'n koek te bak, en MurmurHash3 is die resep om die koek in 'n klein kolwyntjie (die hash) te verander. Dit sou 'n driestap-proses wees:
Stap 1: Kap in stukke (breek die data)
- Eerstens sny MurmurHash3 jou data in gelyke stukke, soos om die koek in ewe blokkies te sny.
Stap 2: Meng soos 'n besetene (meng die stukke)
- Elke stuk gaan deur 'n wilde mengproses:
- Flipping: 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 dat geen oorspronklike stuk uitstaan nie.
Stap 3: Finale smaaktoets (finalisering)
- Nadat al die stukke gemeng is, gee MurmurHash3 dit 'n laaste roer om te verseker dat selfs die kleinste krummel verandering in die oorspronklike data die geur (die hash) heeltemal sal verander.