Fowler-Noll-Vo FNV1a-64 Kalkulator hash koda
Objavljeno: 17. veljače 2025. u 21:48:24 UTC
Kalkulator hash koda koji koristi funkciju hash Fowler-Noll-Vo 1a 64 bit (FNV1a-64) za izračunavanje hash koda na temelju unosa teksta ili prijenosa datoteke.Fowler-Noll-Vo FNV1a-64 Hash Code Calculator
FNV-1a 64-bitna hash funkcija dio je obitelji Fowler–Noll–Vo (FNV) 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 64-bitni (8 bajtova) hash kod, često predstavljen kao 16-znamenkasti heksadecimalni broj.
Varijanta FNV-1a poboljšana je verzija izvorne funkcije FNV-1 s boljom sigurnošću.
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-1a 64-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 smoothija. 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 ne obradite sve.
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 poboljšana 64-bitna verzija FNV-1a. Ako trebate originalnu verziju, imam i kalkulator za to: Fowler-Noll-Vo FNV1-64 Kalkulator hash koda