Miklix

Kalkulačka hash kódu Fowler-Noll-Vo FNV1-32

Publikované: 18. februára 2025 o 0:16:03 UTC
Posledná aktualizácia: 12. januára 2026 o 13:29:21 UTC

Kalkulačka hash kódu, ktorá používa hash funkciu Fowler-Noll-Vo 1 32 bit (FNV1-32) na výpočet hash kódu na základe zadaného textu alebo nahraného 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:

Fowler-Noll-Vo FNV1-32 Hash Code Calculator

32-bitová hašovacia funkcia FNV-1 je súčasťou rodiny hašovacích funkcií Fowler-Noll-Vo (FNV), ktoré sú určené na rýchle hašovanie pri zachovaní dobrého rozloženia hašovacích hodnôt. Bežne sa používa v aplikáciách, ako sú hašovacie tabuľky, kontrolné súčty a vyhľadávanie údajov. Vytvára 32-bitový (4-bajtový) hašovací kód, často 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 32-bitovom hašovacom algoritme Fowler-Noll-Vo FNV-1

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, strašidelné matematické vysvetlenie, som si istý, že ho nájdete inde ;-)

Najprv si predstavme algoritmus FNV-1 ako recept na prípravu špeciálneho smoothie. Každá pridaná prísada (ako ovocie, mlieko alebo med) predstavuje kus údajov – napríklad písmená, čísla alebo dokonca celý súbor.

Cieľom je teraz zmiešať tieto ingrediencie veľmi špecifickým spôsobom tak, aby aj najmenšia zmena v recepte (napríklad pridanie jednej čučoriedky navyše) spôsobila, že smoothie bude mať úplne inú chuť. Takto fungujú hašovacie funkcie – vytvárajú jedinečnú „príchuť“ (alebo hašovaciu hodnotu) pre každú jedinečnú sadu ingrediencií (alebo vstupných údajov).

Algoritmus FNV-1 to robí viackrokovým procesom:

Krok 1: Začnite so základom (odsadený základ)

Predstavte si to ako naliatie špeciálneho základu na smoothie do mixéra. Tento základ je vždy rovnaký, bez ohľadu na to, aké ingrediencie pridáte. V FNV-1 sa to nazýva „offsetový základ“ – len ozdobné východiskové číslo.

Krok 2: Pridávanie ingrediencií jednu po druhej (spracovanie údajov)

Teraz začnete pridávať ingrediencie, jednu po druhej – povedzme jahodu, potom banán a nakoniec trochu medu. Každá z nich predstavuje jeden bajt dát.

Krok 3: Zmiešajte s tajným multiplikátorom (FNV Prime)

Po pridaní každej ingrediencie stlačíte tlačidlo mixovania, ale tu je háčik: mixér všetko vynásobí tajným „magickým číslom“ nazývaným prvočíslo FNV. To pomáha veci naozaj dobre premiešať.

Krok 4: Pridajte štipku mágie (operácia XOR)

Pred pridaním ďalšej ingrediencie posypete trochou magického prachu (toto je operácia XOR). Je to ako neočakávané prevrátenie chuti, vďaka čomu aj malé zmeny prinesú veľký rozdiel.

Krok 5: Opakujte, kým nie je hotovo

Po každej novej ingrediencii stále mixujete a pridávate kúzlo, kým všetko nespracujete.

Krok 6: Záverečné smoothie (Hash hodnota)

Keď ste hotoví, smoothie nalejete. Konečná chuť (hash hodnota) je jedinečná pre túto presnú kombináciu ingrediencií. Keby ste pridali čo i len jednu čučoriedku navyše, chutilo by to úplne inak.

Tu uvedená verzia je pôvodná 32-bitová verzia FNV-1. K dispozícii je aj vylepšená 32-bitová verzia FNV-1a: Odkaz

Ďalšie čítanie

Ak sa vám tento príspevok páčil, možno sa vám budú páčiť aj tieto návrhy:


Zdieľať na BlueskyZdieľať na FacebookuZdieľať na LinkedInZdieľať na TumblrZdieľať na XZdieľať na LinkedInPripnúť na Pintereste

Mikkel Christensen

O autorovi

Mikkel 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.