Miklix

Fowler-Noll-Vo FNV1-64 Kalkulator hash koda

Objavljeno: 17. veljače 2025. u 21:36:38 UTC

Kalkulator hash koda koji koristi funkciju hash Fowler-Noll-Vo 1 64 bit (FNV1-64) za izračunavanje 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-64 Hash Code Calculator

FNV-1 64-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 64-bitni (8 bajtova) hash kod, često predstavljen kao 16-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 Fowler-Noll-Vo FNV-1 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 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 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 originalna 64-bitna verzija FNV-1. Dostupna je i poboljšana 64-bitna verzija FNV-1a: Fowler-Noll-Vo FNV1a-64 Kalkulator hash koda

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

Mikkel Bang Christensen

O autoru

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