Kalkulačka hash kódu MurmurHash3A
Publikované: 18. februára 2025 o 0:39:39 UTC
Posledná aktualizácia: 12. januára 2026 o 13:33:11 UTC
MurmurHash3A Hash Code Calculator
MurmurHash3 je nekryptografická hašovacia funkcia, ktorú v roku 2008 navrhol Austin Appleby. Vďaka svojej rýchlosti, jednoduchosti a dobrým distribučným vlastnostiam sa široko používa na všeobecné hašovanie. Funkcie MurmurHash sú obzvlášť účinné pre dátové štruktúry založené na hašovaní, ako sú hašovacie tabuľky, Bloomove filtre a systémy na deduplikáciu dát.
Variant uvedený na tejto stránke je variant 3A, ktorý je optimalizovaný pre 32-bitové systémy. Vytvára 32-bitové (4-bajtové) hash kódy, typicky reprezentované ako 8-miestne hexadecimálne číslo.
Úplné odhalenie: konkrétnu implementáciu hashovacej funkcie použitej na tejto stránke som nenapísal. Ide o štandardnú funkciu, ktorá je súčasťou programovacieho jazyka PHP. Vytvoril som len webové rozhranie, aby som ju tu pre pohodlie sprístupnil verejnosti.
O hašovacom algoritme MurmurHash3A
Nie som matematik, ale pokúsim sa vysvetliť túto hašovaciu funkciu pomocou analógie, ktorej rozumejú moji kolegovia nematematici. Ak uprednostňujete vedecky správne, úplnú matematickú interpretáciu, určite ju nájdete aj inde ;-)
Teraz si predstavte, že máte veľkú krabicu plnú LEGO kociek. Vždy, keď ich usporiadate určitým spôsobom, urobíte fotku. Bez ohľadu na to, aké veľké alebo farebné je usporiadanie, fotoaparát vám vždy urobí malú fotografiu s pevnou veľkosťou. Táto fotografia predstavuje váš LEGO výtvor, ale v kompaktnej forme.
MurmurHash3 robí niečo podobné s dátami. Berie akýkoľvek druh dát (text, čísla, súbory) a zredukuje ho na malý, pevný „odtlačok prsta“ alebo hašovaciu hodnotu. Tento odtlačok prsta pomáha počítačom rýchlo identifikovať, triediť a porovnávať dáta bez toho, aby sa museli pozerať na všetko.
Ďalšia analógia by bola ako pečenie koláča a MurmurHash3 je recept na premenu tohto koláča na malý koláčik (hash). Bol by to trojkrokový proces:
Krok 1: Rozdelenie na kúsky (Rozbitie údajov)
- Najprv MurmurHash3 rozdelí vaše dáta na rovnaké časti, ako keby ste krájali tortu na rovnomerné štvorce.
Krok 2: Miešajte ako blázon (miešanie kúskov)
- Každý kúsok prechádza divokým procesom miešania: Otáčanie: Ako pri otáčaní palacinky, preskupuje jednotlivé kúsky. Miešanie: Pridáva náhodné ingrediencie (matematické operácie), aby sa veci premiešali. Stláčanie: Stlačuje dáta k sebe, aby sa zabezpečilo, že žiadny pôvodný kúsok nevynikne.
Krok 3: Záverečný test chuti (Finalizácia)
- Po zmiešaní všetkých kúskov ich MurmurHash3 ešte raz premieša, aby sa zabezpečilo, že aj tá najmenšia zmena v pôvodných údajoch úplne zmení chuť (hash).
Ďalšie čítanie
Ak sa vám tento príspevok páčil, možno sa vám budú páčiť aj tieto návrhy:
