Miklix

Fowler-Noll-Vo FNV1a-32 Kalkulator hash koda

Objavljeno: 18. februar 2025. u 00:13:00 UTC

Kalkulator heš koda koji koristi Fowler-Noll-Vo 1a 32-bitnu (FNV1a-32) hash funkciju za izračunavanje hash koda na osnovu unosa teksta ili otpremanja datoteke.

Ova stranica je mašinski prevedena sa engleskog kako bi bila dostupna što većem broju ljudi. Nažalost, mašinsko prevođenje još nije usavršena tehnologija, pa može doći do grešaka. Ako želite, možete pogledati originalnu englesku verziju ovdje:

Fowler-Noll-Vo FNV1a-32 Hash Code Calculator

FNV-1a 32-bitna heš funkcija je dio Fowler-Noll-Vo (FNV) porodice hash funkcija, dizajniranih za brzo heširanje uz održavanje dobre distribucije hash vrijednosti. Obično se koristi u aplikacijama poput hash tablica, kontrolnih suma i pretraživanja podataka. On proizvodi 32-bitni (4 bajta) heš kod, često predstavljen kao 8-cifreni heksadecimalni broj.

Varijanta FNV-1a je poboljšana verzija u odnosu na originalnu funkciju FNV-1 sa boljom sigurnošću.

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.


Izračunajte novi hash kod

Podaci dostavljeni ili datoteke učitane putem ovog obrasca će se čuvati na serveru onoliko dugo koliko je potrebno da se generiše traženi hash kod. Biće izbrisan neposredno prije nego što se rezultat vrati u vaš pretraživač.

Ulazni podaci:



Poslani tekst je kodiran UTF-8. Pošto 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 umjesto toga prenijeti datoteku.



O Fowler-Noll-Vo FNV-1a 32-bitnom Hash algoritmu

Nisam matematičar, ali pokušaću da objasnim ovu hash funkciju koristeći analogiju koju moji kolege ne-matematičari mogu da razumeju. Ako više volite naučno ispravno, zastrašujuće matematičko objašnjenje, siguran sam da to možete pronaći na drugom mjestu ;-)

Prvo, zamislimo FNV-1 algoritam kao recept za pravljenje posebnog smutija. 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 ove sastojke na vrlo specifičan način tako da čak i najmanja promjena u receptu (poput dodavanja jedne dodatne borovnice) učini ukus smoothija potpuno drugačijim. Tako funkcionišu hash funkcije - one stvaraju jedinstveni "ukus" (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: Počnite s osnovom (Offset Basis)

Zamislite ovo kao da sipate specijalnu bazu za smoothie u vaš blender. Ova baza je uvijek ista, bez obzira koje sastojke dodate. U FNV-1, to se zove "offset osnova" - samo fensi početni broj.

Korak 2: Dodajte sastojke jedan po jedan (obrada podataka)

Sada počinjete da dodajete sastojke, jedan po jedan - recimo jagodu, pa bananu, pa malo meda. Svaki od njih predstavlja bajt podataka.

Korak 3: Pomiješajte s tajnim množiteljem (FNV Prime)

Nakon dodavanja svakog sastojka, pritisnete dugme za blendanje, ali evo preokreta: blender sve množi sa tajnim "magičnim brojem" koji se zove FNV premium. Ovo pomaže da se stvari zaista dobro pomiješaju.

Korak 4: Dodajte crtu magije (XOR operacija)

Prije dodavanja sljedećeg sastojka, pospite 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 čine veliku razliku.

Korak 5: Ponavljajte dok ne završite

Miješate i prskate magiju nakon svakog novog sastojka dok sve ne obradite.

Korak 6: Final Smoothie (Hash vrijednost)

Kada završite, sipajte smoothie. Konačni okus (vrijednost heša) je jedinstven za tu tačnu kombinaciju sastojaka. Da ste dodali još jednu borovnicu viška, okus bi bio potpuno drugačiji.

Ovdje predstavljena verzija je poboljšana 32-bitna verzija FNV-1a. Ako vam treba originalna verzija, imam i kalkulator za to: Fowler-Noll-Vo FNV1-32 Kalkulator hash koda

Podijelite na BlueskyPodijelite na FacebookuPodijelite na LinkedIn-uPodijelite na Tumblr-uPodijeli na XPodijelite na LinkedIn-uPrikači na Pinterest

Mikkel Bang Christensen

O autoru

Mikkel Bang Christensen
Mikkel je kreator i vlasnik miklix.com. Ima preko 20 godina iskustva kao profesionalni kompjuterski programer/programer softvera i trenutno je zaposlen sa punim radnim vremenom u velikoj evropskoj IT korporaciji. Kada ne piše blog, svoje slobodno vrijeme provodi na širokom spektru interesovanja, hobija i aktivnosti, što se u određenoj mjeri može odraziti na različite teme koje se obrađuju na ovoj web stranici.