Kalkulačka hash kódu MurmurHash3A
Publikované: 18. februára 2025 o 0:39:39 UTC
Kalkulačka hash kódu, ktorá používa funkciu MurmurHash3A hash na výpočet hash kódu na základe zadávania textu alebo nahrávania súboru.MurmurHash3A Hash Code Calculator
MurmurHash3 je nekryptografická hašovacia funkcia navrhnutá Austinom Applebym v roku 2008. Je široko používaná na univerzálne hašovanie vďaka svojej rýchlosti, jednoduchosti a dobrým distribučným vlastnostiam. Funkcie MurmurHash sú obzvlášť účinné pre dátové štruktúry založené na hash, ako sú hašovacie tabuľky, filtre kvetov a systémy na deduplikáciu údajov.
Variant prezentovaný na tejto stránke je variant 3A, ktorý je optimalizovaný pre 32-bitové systémy. Vytvára 32 bitové (4 bajtové) hash kódy, zvyčajne 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 hashovom algoritme MurmurHash3A
Nie som matematik, ale pokúsim sa vysvetliť túto hašovaciu funkciu pomocou analógie, ktorej rozumejú moji kolegovia nematematici. Ak dávate prednosť vedecky správnemu, úplnému matematickému vysvetleniu, som si istý, že ho nájdete inde ;-)
Teraz si predstavte, že máte veľkú krabicu LEGO kociek. Zakaždým, keď ich usporiadate konkrétnym spôsobom, urobíte fotografiu. Bez ohľadu na to, aké veľké alebo farebné je usporiadanie, fotoaparát vám vždy poskytne malú fotografiu pevnej veľkosti. Táto fotografia predstavuje váš výtvor LEGO, ale v kompaktnej forme.
MurmurHash3 robí niečo podobné s údajmi. Berie akýkoľvek druh údajov (text, čísla, súbory) a zmenšuje ich na malý pevný „odtlačok prsta“ alebo hodnotu hash. Tento odtlačok pomáha počítačom rýchlo identifikovať, triediť a porovnávať údaje bez toho, aby sa museli pozerať na celú vec.
Ďalšou analógiou by bolo pečenie koláča a MurmurHash3 je recept na premenu tohto koláča na malý koláčik (hash). Toto by bol proces v troch krokoch:
Krok 1: Nasekajte na kúsky (rozbitie údajov)
- Po prvé, MurmurHash3 rozdelí vaše údaje na rovnaké časti, ako je rozrezanie koláča na rovnomerné štvorce.
Krok 2: Miešajte ako blázon (miešanie kúskov)
- Každý kus prechádza divokým procesom miešania:
- Preklápanie: Podobne ako pri prehadzovaní palaciniek sa preskupujú kúsky.
- Miešanie: Pridáva náhodné ingrediencie (matematické operácie), aby sa veci zmiešali.
- Squishing: Stlačí údaje dohromady, aby sa zabezpečilo, že nevynikne žiadny originálny kus.
Krok 3: Záverečný test chuti (finalizácia)
- Po zmiešaní všetkých kúskov MurmurHash3 ešte raz zamieša, aby sa zabezpečilo, že aj tá najmenšia omrvinka zmeny v pôvodných údajoch úplne zmení chuť (haš).