Miklix

Fowler-Noll-Vo FNV1-32 Kalkulator hash koda

Objavljeno: 18. veljače 2025. u 00:17:29 UTC
Zadnje ažuriranje: 12. siječnja 2026. u 13:29:37 UTC

Kalkulator hash koda koji koristi Fowler-Noll-Vo 1 32-bitnu (FNV1-32) hash funkciju za izračun hash koda na temelju unosa teksta ili prijenosa datoteke.

Ova je stranica strojno prevedena s engleskog kako bi bila dostupna što većem broju ljudi. Nažalost, strojno prevođenje još nije usavršena tehnologija pa se mogu pojaviti pogreške. Ako želite, izvornu englesku verziju možete pogledati ovdje:

Fowler-Noll-Vo FNV1-32 Hash Code Calculator

32-bitna hash funkcija FNV-1 dio je obitelji hash funkcija Fowler-Noll-Vo (FNV), dizajniranih za brzo hashiranje uz održavanje dobre distribucije hash vrijednosti. Često se koristi u aplikacijama poput hash tablica, kontrolnih zbrojeva i pretraživanja podataka. Proizvodi 32-bitni (4 bajtni) 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.


Izračunajte novi hash kod

Podaci dostavljeni ili datoteke učitane putem ovog obrasca čuvat će se na poslužitelju samo onoliko dugo koliko je potrebno za generiranje traženog hash koda. Bit će izbrisan neposredno prije nego što se rezultat vrati u vaš preglednik.

Ulazni podaci:



Poslani tekst je UTF-8 kodiran. Budući da hash funkcije rade na binarnim podacima, rezultat će biti drugačiji nego da je tekst u drugom kodiranju. Ako trebate izračunati hash teksta u određenom kodiranju, trebali biste prenijeti datoteku.



O 32-bitnom hash algoritmu Fowler-Noll-Vo FNV-1

Nisam matematičar, ali pokušat ću objasniti ovu hash funkciju koristeći analogiju koju moji kolege nematematič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 pripremu 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 okus smoothieja 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 FNV-1 algoritam to radi je proces u više koraka:

Korak 1: Započnite s bazom (pomaknuta baza)

Zamislite ovo kao da ulijete posebnu bazu za smoothie u blender. Ta baza je uvijek ista, bez obzira na sastojke koje dodate. U FNV-1, to se naziva "offset baza" - 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 bajt podataka.

Korak 3: Pomiješajte s tajnim multiplikatorom (FNV Prime)

Nakon što dodate svaki sastojak, pritisnete gumb za miješanje, ali evo u čemu je stvar: blender sve množi tajnim "magičnim brojem" koji se zove FNV prost broj. To pomaže da se stvari jako dobro izmiješaju.

Korak 4: Dodajte dašak magije (XOR operacija)

Prije dodavanja sljedećeg sastojka, pospite malo čarobne 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)

Kad završite, prelijete smoothie. Konačni okus (hash vrijednost) jedinstven je za tu točnu kombinaciju sastojaka. Da ste dodali još samo jednu borovnicu, 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: Link

Dodatno čitanje

Ako vam se svidio ovaj post, možda će vam se svidjeti i ovi prijedlozi:


Podijeli na BlueskyPodijelite na FacebookuPodijelite na LinkedInuPodijelite na TumblrPodijeli na XPodijelite na LinkedInuPrikvači na Pinterest

Mikkel Christensen

O autoru

Mikkel Christensen
Mikkel je kreator i vlasnik miklix.com. Ima više od 20 godina iskustva kao profesionalni računalni programer/razvijač softvera i trenutno je zaposlen na puno radno vrijeme za veliku europsku IT korporaciju. Kada ne piše blog, svoje slobodno vrijeme provodi na široku lepezu interesa, hobija i aktivnosti, što se u određenoj mjeri može odraziti na različite teme obrađene na ovoj web stranici.