Fowler-Noll-Vo FNV1-32 Kalkulator hash koda
Objavljeno: 18. veljače 2025. u 00:17:29 UTC
Kalkulator hash koda koji koristi funkciju hash Fowler-Noll-Vo 1 32 bit (FNV1-32) za izračunavanje hash koda na temelju unosa teksta ili prijenosa datoteke.Fowler-Noll-Vo FNV1-32 Hash Code Calculator
FNV-1 32-bitna hash funkcija dio je Fowler–Noll–Vo (FNV) obitelji hash funkcija, dizajniranih za brzo raspršivanje uz održavanje dobre distribucije hash vrijednosti. Obično se koristi u aplikacijama poput hash tablica, kontrolnih zbrojeva i pretraživanja podataka. Proizvodi 32-bitni (4 bajta) hash kod, često predstavljen kao 8-znamenkasti heksadecimalni broj.
Potpuno otkrivanje: nisam napisao konkretnu implementaciju hash funkcije koja se koristi na ovoj stranici. To je standardna funkcija uključena u PHP programski jezik. Napravio sam samo web sučelje da bude javno dostupno ovdje radi praktičnosti.
O Fowler-Noll-Vo FNV-1 32-bitnom hash algoritmu
Nisam matematičar, ali pokušat ću objasniti ovu hash funkciju koristeći analogiju koju moji kolege ne-matematičari mogu razumjeti. Ako više volite znanstveno ispravno, zastrašujuće matematičko objašnjenje, siguran sam da ga možete pronaći negdje drugdje ;-)
Prvo, zamislimo FNV-1 algoritam kao recept za izradu posebnog smoothieja. Svaki sastojak koji dodate (poput voća, mlijeka ili meda) predstavlja dio podataka - poput slova, brojeva ili čak cijele datoteke.
Sada je cilj pomiješati te sastojke na vrlo specifičan način tako da čak i najmanja promjena u receptu (poput dodavanja jedne dodatne borovnice) učini smoothie potpuno drugačijim. Tako funkcioniraju hash funkcije - one stvaraju jedinstveni "okus" (ili hash vrijednost) za svaki jedinstveni skup sastojaka (ili ulaznih podataka).
Način na koji algoritam FNV-1 to radi je proces u više koraka:
Korak 1: Započnite s bazom (osnova pomaka)
Zamislite ovo kao da sipate posebnu bazu za smoothie u svoj blender. Ova baza je uvijek ista, bez obzira koje sastojke dodali. U FNV-1 to se zove "osnova pomaka" - samo otmjeni početni broj.
Korak 2: Dodajte sastojke jedan po jedan (obrada podataka)
Sada počinjete dodavati sastojke, jedan po jedan - recimo jagodu, zatim bananu, pa malo meda. Svaki od njih predstavlja jedan bajt podataka.
Korak 3: Pomiješajte s tajnim množiteljem (FNV Prime)
Nakon dodavanja svakog sastojka, pritisnete tipku za miješanje, ali evo zaokreta: blender sve množi tajnim "magičnim brojem" koji se zove FNV prime. Ovo pomaže da se stvari dobro izmiješaju.
Korak 4: Dodajte Dash of Magic (operacija XOR)
Prije dodavanja sljedećeg sastojka, pospite malo čarobne prašine (ovo je XOR operacija). To je kao mijenjanje okusa na neočekivane načine, osiguravajući da čak i male promjene čine veliku razliku.
Korak 5: Ponavljajte dok ne završite
Nastavljate miješati i prskati magiju nakon svakog novog sastojka dok sve ne obradite.
Korak 6: Konačni smoothie (raspršena vrijednost)
Kad ste gotovi, izlijete smoothie. Konačni okus (vrijednost raspršivanja) jedinstven je za tu točnu kombinaciju sastojaka. Da ste dodali i jednu više borovnice, okus bi bio potpuno drugačiji.
Ovdje predstavljena verzija je originalna 32-bitna verzija FNV-1. Dostupna je i poboljšana 32-bitna verzija FNV-1a: Kalkulator hash koda Fowler-Noll-Vo FNV1a-32