Miklix

Fowler-Noll-Vo FNV1a-32 Hash kóða reiknivél

Birt: 19. mars 2025 kl. 20:57:15 UTC

Hash kóða reiknivél sem notar Fowler-Noll-Vo 1a 32 bita (FNV1a-32) kjötkássaaðgerðina til að reikna út kjötkássakóða sem byggir á textainnslátt eða upphleðslu skráa.

Þessi síða var vélþýdd úr ensku til að gera hana aðgengilega sem flestum. Því miður er vélþýðing ekki enn fullkomin tækni, svo villur geta komið upp. Ef þú vilt geturðu skoðað upprunalegu ensku útgáfuna hér:

Fowler-Noll-Vo FNV1a-32 Hash Code Calculator

FNV-1a 32-bita kjötkássaaðgerðin er hluti af Fowler–Noll–Vo (FNV) fjölskyldu kjötkássaaðgerða, hönnuð fyrir hraðan kjötkássa en viðhalda góðri dreifingu kjötkássagilda. Það er almennt notað í forritum eins og kjötkássatöflum, eftirlitsumtölum og gagnauppflettingum. Það framleiðir 32 bita (4 bæta) kjötkássakóða, oft táknað sem 8 stafa sextánsnúmer.

FNV-1a afbrigðið er endurbætt útgáfa yfir upprunalegu FNV-1 aðgerðina með betra öryggi.

Full upplýsingagjöf: Ég skrifaði ekki sérstaka útfærslu kjötkássaaðgerðarinnar sem notuð er á þessari síðu. Það er staðlað aðgerð sem fylgir PHP forritunarmálinu. Ég gerði vefviðmótið aðeins til að gera það almennt aðgengilegt hér til hægðarauka.


Reiknaðu nýjan kjötkássakóða

Gögn sem send eru inn eða skrám sem hlaðið er upp í gegnum þetta eyðublað verða aðeins geymd á þjóninum eins lengi og það tekur að búa til umbeðinn kjötkássakóða. Henni verður eytt strax áður en niðurstaðan er send aftur í vafrann þinn.

Inntaksgögn:



Innsendur texti er UTF-8 kóðaður. Þar sem kjötkássaaðgerðir starfa á tvöfaldri gögnum verður niðurstaðan önnur en ef textinn væri í annarri kóðun. Ef þú þarft að reikna út kjötkássa af texta í tiltekinni kóðun ættirðu að hlaða upp skrá í staðinn.



Um Fowler-Noll-Vo FNV-1a 32 bita Hashtengi

Ég er ekki stærðfræðingur, en ég mun reyna að útskýra þessa hash-funkun með dæmi sem félagar mínir sem eru ekki stærðfræðingar geta skilið. Ef þú vilt vísindalega rétta, skelfilega stærðfræðilega útskýring, er ég viss um að þú getur fundið það annars staðar ;-)

Fyrst skulum við hugsa um FNV-1 reikniritið eins og uppskrift að því að búa til sérstakan smáttýru. Hver innihaldsefni sem þú bætir við (eins og ávextir, mjólk eða hunang) tákna bit af gögnum - eins og bókstafir, tölur eða jafnvel heilt skjal.

Nú er markmiðið að blanda þessum innihaldsefnum á mjög sérstakan hátt þannig að jafnvel minnstu breytingar á uppskriftinni (eins og að bæta við einni aukabláber) láti smáttýruna bragðast algjörlega öðruvísi. Svona virka hash-funkunir - þær búa til einstakt "bragð" (eða hash-gildi) fyrir hvert einstakt sett af innihaldsefnum (eða inntaksgögnum).

Það sem FNV-1 reikniritið gerir til að ná þessu er fjölþrepa ferli:

Skref 1: Byrjaðu með Grunn (Offset Basis)

Hugsaðu um þetta eins og að hella sérstöku smáttýrubotni í blendarann. Þessi botn er alltaf eins, óháð því hvaða innihaldsefni þú bætir við. Í FNV-1 er þetta kallað "offset basis" - bara fín byrjunar tala.

Skref 2: Bæta við Innihaldsefnum Eitt og Eitt (Vinnsla Gagna)

Nú byrjarðu að bæta við innihaldsefnunum, eitt í einu - við skulum segja jarðarber, síðan banana, síðan smá hunang. Hvert af þessum táknar eina byte af gögnum.

Skref 3: Blandaðu með Læstum Margfaldara (FNV Prime)

Þegar þú hefur bætt við hverju innihaldsefni, ýtir þú á blanda-knappinn, en hér kemur snúningurinn: blendarinn margfaldar allt með leyndri " galdra-tölu" sem kallast FNV prime. Þetta hjálpar til við að blanda hlutunum mjög vel.

Skref 4: Bæta við Smá Galdri (XOR Aðgerð)

Áður en þú bætir við næsta innihaldsefni, stráir þú smá galdra dufti (þetta er XOR aðgerð). Það er eins og að snúa bragðinu á óvæntan hátt, sem tryggir að jafnvel litlar breytingar hafi mikil áhrif.

Skref 5: Endurtaka þar til Lokið

Þú heldur áfram að blanda og strá galdri eftir hvert nýtt innihaldsefni þar til þú hefur unnið úr öllu.

Skref 6: Lokasmáttýra (Hash Gildi)

Þegar þú ert búin, hellir þú út smáttýruni. Loka-bragðið (hash-gildið) er einstakt fyrir þessa nákvæmu samsetningu innihaldsefna. Ef þú hefðir bætt við einu aukabláber, þá myndi það bragðast alveg öðruvísi.

Útgáfan sem hér er kynnt er bætta FNV-1a 32 bita útgáfan. Ef þú þarft upprunalegu útgáfuna, þá á ég einnig reiknivél fyrir það: Fowler-Noll-Vo FNV1-32 Hash kóða reiknivél

Deildu á BlueskyDeildu á FacebookDeildu á LinkedInDeildu á TumblrDeildu á XDeildu á LinkedInFestu á Pinterest

Mikkel Christensen

Um höfundinn

Mikkel Christensen
Mikkel er skapari og eigandi miklix.com. Hann hefur yfir 20 ára reynslu sem faglegur tölvuforritari/hugbúnaðarhönnuður og er nú í fullu starfi hjá stóru evrópsku upplýsingatæknifyrirtæki. Þegar hann er ekki að blogga eyðir hann frítíma sínum í margs konar áhugamál, áhugamál og athafnir, sem geta að einhverju leyti endurspeglast í margs konar efni sem fjallað er um á þessari vefsíðu.