MurmurHash3F hash kód kalkulátor
Megjelent: 2025. február 18. 0:27:55 UTC
Kivonatkód-kalkulátor, amely a MurmurHash3F hash függvényt használja a hash kód kiszámításához szövegbevitel vagy fájlfeltöltés alapján.MurmurHash3F Hash Code Calculator
A MurmurHash3 egy nem kriptográfiai hash függvény, amelyet Austin Appleby tervezett 2008-ban. Gyorsasága, egyszerűsége és jó terjesztési tulajdonságai miatt széles körben használják általános célú kivonatolásra. A MurmurHash függvények különösen hatékonyak a hash alapú adatstruktúrákban, például a hash táblákban, a bloomszűrőkben és az adatduplikációs rendszerekben.
Az ezen az oldalon bemutatott változat a 3F változat, amely 64 bites rendszerekre van optimalizálva. 128 bites (16 bájtos) hash kódokat állít elő, amelyeket általában 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 MurmurHash3F hash algoritmusról
Nem vagyok matematikus, de megpróbálom elmagyarázni ezt a hash függvényt egy olyan analógia segítségével, amelyet nem matematikus társai is megértenek. Ha a tudományosan korrekt, teljes matematikai magyarázatot részesíti előnyben, biztos vagyok benne, hogy ezt máshol is megtalálja ;-)
Most képzeld el, hogy van egy nagy doboz LEGO kockád. Minden alkalommal, amikor meghatározott módon rendezi el őket, készít egy képet. Nem számít, milyen nagy vagy színes az elrendezés, a fényképezőgép mindig kicsi, fix méretű fotót ad. Ez a fotó a LEGO-alkotásodat ábrázolja, de kompakt formában.
A MurmurHash3 hasonlót csinál az adatokkal. Bármilyen adatot (szöveget, számokat, fájlokat) vesz, és kicsi, rögzített "ujjlenyomat" vagy hash értékre szűkíti le. Ez az ujjlenyomat segít a számítógépeknek az adatok gyors azonosításában, rendezésében és összehasonlításában anélkül, hogy az egészet át kellene nézni.
Egy másik hasonlat olyan lenne, mint egy sütemény sütése, és a MurmurHash3 a recept, amellyel a tortát kis cupcake-vé (a hash) lehet alakítani. Ez három lépésből állna:
1. lépés: Vágja darabokra (az adatok felosztása)
- Először is, a MurmurHash3 egyenlő darabokra vágja az adatokat, például a tortát egyenletes négyzetekre vágja.
2. lépés: Keverjük össze, mint egy őrült (a darabok összekeverése)
- Minden darab egy vad keverési folyamaton megy keresztül:
- Lapozás: Mint egy palacsintát, átrendezi a darabokat.
- Keverés: Véletlenszerű összetevőket (matematikai műveleteket) ad hozzá a dolgok összekeveréséhez.
- Összehúzá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)
- Az összes darab összekeverése után a MurmurHash3 még egy utolsó keverést ad annak biztosítására, hogy az eredeti adatok legapróbb változása is teljesen megváltoztatja az ízt (a hash-t).