Miklix

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

Hash kód kalkulátor, amely a MurmurHash3C hash függvényt használja a hash kód kiszámításához szövegbevitel vagy fájlfeltöltés alapján.

Ezt az oldalt angolból gépi fordítással készítettük, hogy minél több ember számára elérhető legyen. Sajnos a gépi fordítás még nem tökéletes technológia, ezért előfordulhatnak hibák. Ha szeretné, itt megtekintheti az eredeti angol nyelvű változatot:

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.


Új Hash kód kiszámítása

Az ezen az űrlapon keresztül beküldött adatok vagy feltöltött fájlok csak addig maradnak a szerveren, amíg a kért hash-kód generálásához szükséges. Az adatokat azonnal töröljük, mielőtt az eredményt visszaküldjük a böngészőnek.

Bemeneti adatok:



A beküldött szöveg UTF-8 kódolású. Mivel a hash függvények bináris adatokkal dolgoznak, az eredmény más lesz, mintha a szöveg más kódolású lenne. Ha egy adott kódolású szövegből kell hash-értéket kiszámítania, akkor inkább töltsön fel egy fájlt.



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:


Oszd meg a Bluesky-nOszd meg a FacebookonOszd meg a LinkedIn-enOszd meg a Tumblr-enOszd meg X-enOszd meg a LinkedIn-enPin a Pinteresten

Mikkel Christensen

A szerzőről

Mikkel Christensen
Mikkel a miklix.com létrehozója és tulajdonosa. Több mint 20 éves tapasztalattal rendelkezik, mint hivatásos számítógépes programozó/szoftverfejlesztő, és jelenleg teljes munkaidőben dolgozik egy nagy európai informatikai vállalatnál. Amikor nem blogol, szabadidejét érdeklődési körének, hobbijainak és tevékenységeinek széles skálájával tölti, ami bizonyos mértékig tükröződhet a weboldalon tárgyalt témák sokféleségében.