Kalkulator zgoščene kode Fowler-Noll-Vo FNV1-64
Objavljeno: 17. februar 2025 ob 9:35:14 pop. UTC
Nazadnje posodobljeno: 12. januar 2026 ob 1:26:46 pop. UTC
Fowler-Noll-Vo FNV1-64 Hash Code Calculator
64-bitna zgoščevalna funkcija FNV-1 je del družine zgoščevalnih funkcij Fowler-Noll-Vo (FNV), zasnovanih za hitro zgoščevanje ob hkratnem ohranjanju dobre porazdelitve zgoščevalnih vrednosti. Pogosto se uporablja v aplikacijah, kot so zgoščevalne tabele, kontrolne vsote in iskanje podatkov. Ustvari 64-bitno (8-bajtno) zgoščevalno kodo, pogosto predstavljeno kot 16-mestno šestnajstiško število.
Razkritje: nisem napisal posebne izvedbe funkcije hash, uporabljene na tej strani. Gre za standardno funkcijo, ki je vključena v programski jezik PHP. Zaradi priročnosti sem pripravil le spletni vmesnik, da je na voljo javnosti.
O 64-bitnem algoritmu zgoščevanja Fowler-Noll-Vo FNV-1
Nisem matematik, vendar bom poskušal razložiti to zgoščevalno funkcijo z analogijo, ki jo lahko razumejo moji kolegi nematematičarji. Če imate raje znanstveno pravilno, strašljivo matematično razlago, jo boste zagotovo našli drugje ;-)
Najprej si predstavljajmo algoritem FNV-1 kot recept za pripravo posebnega smutija. Vsaka sestavina, ki jo dodate (kot so sadje, mleko ali med), predstavlja del podatka – na primer črke, številke ali celo celotno datoteko.
Cilj je zdaj te sestavine zmešati na zelo specifičen način, tako da že najmanjša sprememba v receptu (kot je dodajanje ene dodatne borovnice) naredi okus smoothieja popolnoma drugačen. Tako delujejo zgoščevalne funkcije – ustvarijo edinstven »okus« (ali zgoščevalno vrednost) za vsak edinstven nabor sestavin (ali vhodnih podatkov).
Algoritem FNV-1 to počne v več korakih:
1. korak: Začnite z osnovo (odmaknjena osnova)
Predstavljajte si to kot vlivanje posebne osnove za smoothie v mešalnik. Ta osnova je vedno enaka, ne glede na to, katere sestavine dodate. V FNV-1 se to imenuje "offset basis" – le domiselna začetna številka.
2. korak: Dodajanje sestavin eno za drugo (obdelava podatkov)
Sedaj začnete dodajati sestavine, eno za drugo – recimo jagodo, nato banano in nato nekaj medu. Vsaka od teh predstavlja bajt podatkov.
3. korak: Mešanje s skrivnim multiplikatorjem (FNV Prime)
Ko dodate vsako sestavino, pritisnete gumb za mešanje, vendar je tukaj preobrat: mešalnik vse skupaj pomnoži s skrivnim "čarobnim številom", imenovanim FNV praštevilo. To pomaga, da se stvari res dobro premešajo.
4. korak: Dodajte kanček magije (operacija XOR)
Preden dodate naslednjo sestavino, potresete z malo čarobnega prahu (to je operacija XOR). To je kot nepričakovano spreminjanje okusa, saj zagotavlja, da že majhne spremembe naredijo veliko razliko.
5. korak: Ponavljajte, dokler ne končate
Po vsaki novi sestavini mešaš in posipaš čarobne dodatke, dokler ne predelaš vsega.
6. korak: Končni smoothie (Hash vrednost)
Ko končate, smoothie prelijete. Končni okus (vrednost hash-a) je edinstven za to natančno kombinacijo sestavin. Če bi dodali še samo eno borovnico, bi bil okus popolnoma drugačen.
Različica, predstavljena tukaj, je originalna 64-bitna različica FNV-1. Na voljo je tudi izboljšana 64-bitna različica FNV-1a: Povezava
Nadaljnje branje
Če vam je bila ta objava všeč, vam bodo morda všeč tudi ti predlogi:
- Kalkulator zgoščene kode Tiger-128/3
- Kalkulator zgoščene kode SHA3-256
- HAVAL-128/4 Kalkulator zgoščene kode
