Miklix

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.

Táto stránka bola strojovo preložená z angličtiny, aby bola prístupná čo najväčšiemu počtu ľudí. Žiaľ, strojový preklad ešte nie je dokonalá technológia, takže sa môžu vyskytnúť chyby. Ak chcete, môžete si pozrieť pôvodnú anglickú verziu tu:

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.


Výpočet nového kódu Hash

Údaje odoslané alebo súbory nahrané prostredníctvom tohto formulára sa na serveri uchovávajú len tak dlho, ako je potrebné na vygenerovanie požadovaného kódu hash. Vymažú sa bezprostredne pred vrátením výsledku do prehliadača.

Vstupné údaje:



Odoslaný text je kódovaný v UTF-8. Keďže hašovacie funkcie pracujú s binárnymi údajmi, výsledok bude iný, ako keby bol text v inom kódovaní. Ak potrebujete vypočítať hash textu v konkrétnom kódovaní, mali by ste namiesto toho nahrať súbor.



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š).
Zdieľať na BlueskyZdieľať na FacebookuZdieľať na LinkedInZdieľať na TumblrZdieľať na XZdieľať na LinkedInPripnúť na Pintereste

Mikkel Bang Christensen

O autorovi

Mikkel Bang Christensen
Mikkel je tvorcom a majiteľom miklix.com. Má viac ako 20 rokov skúseností ako profesionálny počítačový programátor/vývojár softvéru a v súčasnosti pracuje na plný úväzok pre veľkú európsku IT korporáciu. Keď práve nepíše blog, venuje svoj voľný čas širokej škále záujmov, koníčkov a aktivít, čo sa môže do istej miery odrážať v rôznorodosti tém na tejto webovej lokalite.