MurmurHash3C hash kód kalkulátor
Megjelent: 2025. február 18. 0:34:00 UTC
Utolsó frissítés: 2026. január 12. 13:32:05 UTC
MurmurHash3C Hash Code Calculator
MurmurHash3 egy nem kriptográfiai hash függvény, amelyet Austin Appleby tervezett 2008-ban. Széles körben használják általános célú hasheléshez a sebessége, egyszerűsége és jó eloszlási tulajdonságai miatt. A MurmurHash függvények különösen hatékonyak hash-alapú adatstruktúrákhoz, mint például hash-táblák, bloom-szűrők és adatdeduplikációs rendszerek.
Az ezen az oldalon bemutatott változat a 3C változat, amely a 3A változathoz hasonlóan 32 bites rendszerekre van optimalizálva. Azonban a 3A változattal ellentétben 128 bites (16 bájtos) hash kódokat állít elő, amelyeket jellemzően 32 jegyű hexadecimális számként ábrázolnak.
Teljes nyilvánosságra hozatal: nem én írtam az ezen az oldalon használt hash függvény konkrét implementációját. Ez egy szabványos függvény, amely a PHP programozási nyelvben szerepel. Csak a webes felületet készítettem el, hogy a kényelem érdekében itt nyilvánosan elérhetővé tegyem.
A MurmurHash3C hash algoritmusról
Nem vagyok matematikus, de megpróbálom elmagyarázni ezt a hash függvényt egy olyan analógiával, amit a nem matematikus kollégáim is megértenek. Ha egy tudományosan korrekt, teljes matematikai magyarázatot szeretnél, biztos vagyok benne, hogy máshol is találsz ;-)
Most képzeld el, hogy van egy nagy dobozod LEGO kockákkal. Minden alkalommal, amikor egy adott módon elrendezed őket, készítesz egy képet. Nem számít, milyen nagy vagy színes az elrendezés, a kamera mindig egy kis, fix méretű fotót készít. Ez a fotó a LEGO alkotásodat ábrázolja, de kompakt formában.
A MurmurHash3 hasonlóképpen működik az adatokkal. Bármilyen adatot (szöveget, számokat, fájlokat) egy apró, fix „ujjlenyomattá” vagy hash értékké zsugorít. Ez az ujjlenyomat segít a számítógépeknek gyorsan azonosítani, rendezni és összehasonlítani az adatokat anélkül, hogy az egészet meg kellene nézniük.
Egy másik analógia olyan lenne, mintha süteményt sütnénk, és a MurmurHash3 a recept, amivel a süteményből egy kis cupcake-et (a hasiszt) lehet készíteni. Ez egy háromlépéses folyamat lenne:
1. lépés: Darabokra vágás (adatok feldolgozása)
- Először is, a MurmurHash3 egyenlő darabokra szeleteli az adataidat, mintha egy tortát egyenlő négyzetekre vágnál.
2. lépés: Keverjük össze, mint az őrült (a darabok összekeverése)
- Minden darab egy vad keverési folyamaton megy keresztül:Fordítás: Mint egy palacsinta megfordítása, átrendezi a darabokat.Keverés: Véletlenszerű hozzávalókat ad hozzá (matematikai műveletek), hogy összekeverje a dolgokat.Lassítás: Összenyomja az adatokat, hogy megbizonyosodjon arról, hogy egyetlen eredeti darab sem tűnik ki.
3. lépés: Végső ízteszt (véglegesítés)
- Miután az összes darabot összekeverték, a MurmurHash3 még egyszer átkeveri őket, hogy biztosítsa, hogy az eredeti adatokban bekövetkező legkisebb változás is teljesen megváltoztassa az ízt (a hasist).
További olvasmányok
Ha tetszett ez a bejegyzés, akkor ezek a javaslatok is érdekelhetik:
