Miklix

Fowler-Noll-Vo FNV1a-64 räsikoodi kalkulaator

Avaldatud: 17. veebruar 2025, kell 21:46:33 UTC
Viimati uuendatud: 12. jaanuar 2026, kell 13:27:29 UTC

Räsikoodi kalkulaator, mis kasutab Fowler-Noll-Vo 1a 64-bitist (FNV1a-64) räsifunktsiooni räsikoodi arvutamiseks tekstisisestuse või faili üleslaadimise põhjal.

See lehekülg on inglise keelest masintõlgitud, et muuta see võimalikult paljudele inimestele kättesaadavaks. Kahjuks ei ole masintõlge veel täiuslik tehnoloogia, mistõttu võivad esineda vead. Kui soovite, võite vaadata ingliskeelset originaalversiooni siin:

Fowler-Noll-Vo FNV1a-64 Hash Code Calculator

64-bitine räsifunktsioon FNV-1a on osa Fowler-Noll-Vo (FNV) räsifunktsioonide perekonnast, mis on loodud kiireks räsimiseks, säilitades samal ajal räsiväärtuste hea jaotuse. Seda kasutatakse tavaliselt sellistes rakendustes nagu räsitabelid, kontrollsummad ja andmeotsingud. See genereerib 64-bitise (8-baidise) räsikoodi, mida sageli esitatakse 16-kohalise kuueteistkümnendsüsteemi numbrina.

FNV-1a variant on algse FNV-1 funktsiooni täiustatud versioon, millel on parem turvalisus.

Täielik avalikustamine: ma ei kirjutanud sellel leheküljel kasutatud hash-funktsiooni konkreetset rakendust. See on standardne funktsioon, mis kuulub PHP programmeerimiskeele juurde. Ma tegin veebiliidese ainult selleks, et see siin avalikult kättesaadavaks teha.


Uue Hash-koodi arvutamine

Selle vormi kaudu esitatud andmeid või üleslaetud faile hoitakse serveris ainult nii kaua, kui kaua kulub taotletud hash-koodi genereerimiseks. Need kustutatakse vahetult enne tulemuse tagastamist teie brauserile.

Sisendandmed:



Esitatud tekst on UTF-8 kodeeritud. Kuna hash-funktsioonid töötavad binaarsete andmetega, on tulemus teistsugune kui siis, kui tekst oleks mõnes muus kodeeringus. Kui teil on vaja arvutada mingis kindlas kodeeringus oleva teksti hash, peaksite selle asemel üles laadima faili.



Fowler-Noll-Vo FNV-1a 64-bitise räsialgoritmi kohta

Ma ei ole matemaatik, aga püüan seda räsifunktsiooni selgitada analoogia abil, millest mu mittematemaatikutest kolleegid aru saavad. Kui eelistate teaduslikult korrektset ja hirmuäratavat seletust, siis olen kindel, et leiate selle mujalt ;-)

Esiteks, kujutleme FNV-1 algoritmi kui retsepti erilise smuuti valmistamiseks. Iga lisatud koostisosa (näiteks puuviljad, piim või mesi) esindab andmekogumit – näiteks tähti, numbreid või isegi tervet faili.

Nüüd on eesmärk segada neid koostisosi väga spetsiifilisel viisil, nii et isegi kõige väiksemgi muudatus retseptis (näiteks ühe lisamustika lisamine) muudaks smuuti maitse täiesti erinevaks. Nii toimivadki räsifunktsioonid – need loovad iga unikaalse koostisosade komplekti (või sisendandmete) jaoks ainulaadse "maitse" (või räsiväärtuse).

FNV-1 algoritm teeb seda mitmeastmelise protsessina:

1. samm: alustage alusest (nihke alus)

Mõtle sellele kui spetsiaalse smuutipõhja valamisele blenderisse. See põhi on alati sama, olenemata lisatavatest koostisosadest. FNV-1-s nimetatakse seda "nihkepõhjaks" – see on lihtsalt uhke algusnumber.

2. samm: lisage koostisosad ükshaaval (andmete töötlemine)

Nüüd hakkad koostisosi ükshaaval lisama – näiteks maasikas, siis banaan ja siis natuke mett. Igaüks neist esindab ühte baiti andmeid.

3. samm: sega salajase kordajaga (FNV Prime)

Pärast iga koostisosa lisamist vajutad segamisnuppu, aga siin on nüanss: blender korrutab kõik salajase "maagilise numbriga", mida nimetatakse FNV algarvuks. See aitab asju väga hästi segada.

4. samm: lisage näpuotsatäis maagiat (XOR-operatsioon)

Enne järgmise koostisosa lisamist puista peale veidi võlupulbrit (see on XOR-operatsioon). See on nagu maitse ootamatult muutmine, tagades, et isegi väikesed muudatused muudavad oluliselt.

5. samm: korrake, kuni olete lõpetanud

Sa jätkad iga uue koostisosa järel segamist ja maagia piserdamist, kuni oled kõik töödelnud.

6. samm: Lõplik smuuti (räsi väärtus)

Kui oled valmis, valad smuuti välja. Lõppmaitse (räsi väärtus) on sellele täpsele koostisosade kombinatsioonile ainuomane. Kui oleksid lisanud kasvõi ühe mustika rohkem, oleks see maitsenud hoopis teistmoodi.

Siin esitatud versioon on täiustatud FNV-1a 64-bitine versioon. Kui vajate originaalversiooni, on mul selleks ka kalkulaator: Link

Lisalugemist

Kui see postitus teile meeldis, võivad teile meeldida ka need soovitused:


Jagage Bluesky'sJaga FacebookisJagage LinkedInisJaga TumblrisJaga X-isJagage LinkedInisKinnitage Pinterestis

Mikkel Christensen

Autorist

Mikkel Christensen
Mikkel on miklix.com looja ja omanik. Tal on üle 20 aasta kogemust professionaalse programmeerija/tarkvaraarendajana ning praegu töötab ta täiskohaga suures Euroopa IT-ettevõttes. Kui ta ei kirjuta blogi, veedab ta oma vaba aega mitmesuguste huvide, hobide ja tegevustega, mis võib mingil määral kajastuda sellel veebisaidil käsitletavate teemade mitmekesisuses.