Kalkulačka hash kódu MurmurHash3C
Vydáno: 18. února 2025 v 0:33:51 UTC
Kalkulačka hash kódu, která používá funkci MurmurHash3C hash k výpočtu hash kódu na základě zadání textu nebo nahrání souboru.MurmurHash3C Hash Code Calculator
MurmurHash3 je nekryptografická hašovací funkce navržená Austinem Applebym v roce 2008. Je široce používána pro univerzální hašování díky své rychlosti, jednoduchosti a dobrým distribučním vlastnostem. Funkce MurmurHash jsou zvláště účinné pro datové struktury založené na hash, jako jsou hashovací tabulky, filtry květů a systémy deduplikace dat.
Varianta prezentovaná na této stránce je varianta 3C, která je optimalizována pro 32bitové systémy, stejně jako varianta 3A. Na rozdíl od varianty 3A však vytváří 128bitové (16bajtové) hash kódy, typicky reprezentované jako 32mí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 algoritmu MurmurHash3C Hash
Nejsem matematik, ale pokusím se vysvětlit tuto hašovací funkci pomocí analogie, které moji kolegové nematematici rozumí. Pokud dáváte přednost vědecky správnému, úplnému matematickému vysvětlení, jsem si jistý, že to najdete jinde ;-)
Nyní si představte, že máte velkou krabici LEGO kostek. Pokaždé, když je uspořádáte konkrétním způsobem, vyfotíte. Bez ohledu na to, jak velké nebo barevné uspořádání je, fotoaparát vám vždy poskytne malou fotografii pevné velikosti. Tato fotografie představuje váš výtvor LEGO, 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“ nebo hodnotu hash. Tento otisk pomáhá počítačům rychle identifikovat, třídit a porovnávat data, aniž by se musely dívat na celou věc.
Další analogie by byla jako upéct dort a MurmurHash3 je recept, jak z tohoto dortu udělat malý košíček (hash). Toto by byl proces ve třech krocích:
Krok 1: Nakrájejte na kousky (rozbití dat)
- Za prvé, MurmurHash3 nakrájí vaše data na stejné části, jako je krájení koláče na stejné čtverce.
Krok 2: Míchejte jako blázni (Míchání kousků)
- Každý kus prochází divokým procesem míchání:
- Překlápění: Stejně jako při převracení palačinky se mění uspořádání bitů.
- Míchání: Přidá náhodné přísady (matematické operace), aby se věci promíchaly.
- Squishing: Stlačí data k sobě, aby se ujistil, že žádný originální kus nevyčnívá.
Krok 3: Závěrečný test chuti (finalizace)
- Po smíchání všech kousků MurmurHash3 ještě jednou zamíchá, aby se zajistilo, že i ten nejmenší drobek změny v původních datech zcela změní chuť (hash).