Fowler-Noll-Vo FNV1-64 Kalkulator hash koda
Objavljeno: 17. februar 2025. u 21:36:34 UTC
Posljednje ažurirano: 12. januar 2026. u 13:26:59 UTC
Fowler-Noll-Vo FNV1-64 Hash Code Calculator
FNV-1 64-bitna hash funkcija dio je Fowler-Noll-Vo (FNV) porodice hash funkcija, dizajniranih za brzo hashiranje uz održavanje dobre distribucije hash vrijednosti. Često se koristi u aplikacijama kao što su hash tabele, kontrolne sume i pretrage podataka. Proizvodi 64-bitni (8 bajtni) hash kod, često predstavljen kao 16-cifreni heksadecimalni broj.
Potpuno otkrivanje: Nisam napisao konkretnu implementaciju hash funkcije koja se koristi na ovoj stranici. To je standardna funkcija uključena u programski jezik PHP. Napravio sam samo web sučelje da ga ovdje učinim javno dostupnim radi praktičnosti.
O 64-bitnom hash algoritmu Fowler-Noll-Vo FNV-1
Nisam matematičar, ali pokušat ću objasniti ovu hash funkciju koristeći analogiju koju moje kolege nematematičari mogu razumjeti. Ako više volite naučno 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 pravljenje posebnog smoothieja. Svaki sastojak koji dodate (poput voća, mlijeka ili meda) predstavlja dio podatka - poput slova, brojeva ili čak cijele datoteke.
Sada je cilj pomiješati ove sastojke na vrlo specifičan način tako da čak i najmanja promjena u receptu (poput dodavanja jedne dodatne borovnice) učini da okus smoothieja bude potpuno drugačiji. Tako funkcioniraju hash funkcije - one stvaraju jedinstveni "okus" (ili hash vrijednost) za svaki jedinstveni skup sastojaka (ili ulaznih podataka).
Način na koji FNV-1 algoritam ovo radi je proces koji se sastoji od više koraka:
Korak 1: Počnite s bazom (pomaknuta baza)
Zamislite ovo kao da sipate posebnu bazu za smoothie u blender. Ova baza je uvijek ista, bez obzira na sastojke koje dodate. U FNV-1, ovo se naziva "offset osnova" - samo fensi 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 bajt podataka.
Korak 3: Pomiješajte sa tajnim multiplikatorom (FNV Prime)
Nakon dodavanja svakog sastojka, pritisnete dugme za blendanje, ali evo u čemu je stvar: blender sve množi tajnim "magičnim brojem" koji se zove FNV prost broj. Ovo pomaže da se stvari dobro izmiješaju.
Korak 4: Dodajte malo magije (XOR operacija)
Prije dodavanja sljedećeg sastojka, posipate malo magične prašine (ovo je XOR operacija). To je kao da mijenjate okus na neočekivane načine, osiguravajući da čak i male promjene naprave veliku razliku.
Korak 5: Ponavljajte dok ne završite
Nastavljaš miksati i posipati magiju nakon svakog novog sastojka dok sve ne obradiš.
Korak 6: Završni smoothie (Hash vrijednost)
Kada završite, prelijte smoothie. Konačni okus (hash vrijednost) je jedinstven za tu tačnu kombinaciju sastojaka. Da ste dodali čak i jednu dodatnu borovnicu, okus bi bio potpuno drugačiji.
Verzija predstavljena ovdje je originalna 64-bitna verzija FNV-1. Dostupna je i poboljšana 64-bitna verzija FNV-1a: Link
Dodatno čitanje
Ako vam se svidio ovaj post, možda će vam se svidjeti i ovi prijedlozi:
