Kalkulačka hash kódu MurmurHash3A
Vydáno: 18. února 2025 v 0:39:01 UTC
Poslední aktualizace: 12. ledna 2026 v 13:32:59 UTC
MurmurHash3A Hash Code Calculator
MurmurHash3 je nekryptografická hašovací funkce navržená Austinem Applebym v roce 2008. Díky své rychlosti, jednoduchosti a dobrým distribučním vlastnostem se široce používá pro všeobecné hašování. Funkce MurmurHash jsou obzvláště efektivní pro datové struktury založené na hašování, jako jsou hašovací tabulky, Bloomovy filtry a systémy pro deduplikaci dat.
Varianta uvedená na této stránce je varianta 3A, která je optimalizována pro 32bitové systémy. Vytváří 32bitové (4bajtové) hash kódy, obvykle reprezentované jako 8místné hexadecimální číslo.
Plné odhalení: konkrétní implementaci hashovací funkce použité na této stránce jsem nenapsal. Jedná se o standardní funkci, která je součástí programovacího jazyka PHP. Vytvořil jsem pouze webové rozhraní, abych ji zde pro pohodlí zpřístupnil veřejnosti.
O hašovacím algoritmu MurmurHash3A
Nejsem matematik, ale pokusím se vysvětlit tuto hašovací funkci pomocí analogie, které rozumí i moji kolegové nematematici. Pokud dáváte přednost vědecky správnému, plně matematickému vysvětlení, jsem si jistý, že ho najdete jinde ;-)
Představte si, že máte velkou krabici plnou LEGO kostek. Pokaždé, když je uspořádáte určitým způsobem, pořídíte fotku. Bez ohledu na to, jak velké nebo barevné je uspořádání, fotoaparát vám vždy udělá malou fotografii s pevnou velikostí. Tato fotografie představuje váš LEGO výtvor, ale v kompaktní podobě.
MurmurHash3 dělá něco podobného s daty. Vezme jakýkoli druh dat (text, čísla, soubory) a zmenší je na malý, pevný „otisk prstu“ nebo hash hodnotu. Tento otisk prstu pomáhá počítačům rychle identifikovat, třídit a porovnávat data, aniž by se musely dívat na celá data.
Další analogie by mohla být pečení dortu a MurmurHash3 je recept na proměnu tohoto dortu v malý cupcake (hash). Jedná se o tříkrokový proces:
Krok 1: Rozdělení na kousky (Rozbití dat)
- Nejprve MurmurHash3 rozdělí vaše data na stejné části, jako když krájíte dort na sudé čtverce.
Krok 2: Míchejte jako blázen (míchejte kousky)
- Každý kousek prochází divokým procesem míchání: Otáčení: Stejně jako otáčení palačinky, přeskupuje jednotlivé kousky. Míchání: Přidává náhodné ingredience (matematické operace), aby se věci promíchaly. Mačkání: Stlačuje data dohromady, aby se zajistilo, že žádný původní kousek nevyčnívá.
Krok 3: Závěrečná chuťová zkouška (Finalizace)
- Po smíchání všech kousků MurmurHash3 je ještě jednou promíchá, aby se zajistilo, že i ta nejmenší změna v původních datech zcela změní chuť (hash).
Další čtení
Pokud se vám tento příspěvek líbil, mohly by se vám líbit i tyto návrhy:
