Miklix

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

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

Hash kóða reiknivél sem notar Fowler-Noll-Vo 1 32 bita (FNV1-32) kjötkássaaðgerðina til að reikna út kjötkássakóða sem byggir á textainnslætti 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 FNV1-32 Hash Code Calculator

FNV-1 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.

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-1 32 bita Hash Algrímið

Ég er ekki stærðfræðingur, en ég mun reyna að útskýra þetta hash fall með samanburði sem félagar mínir sem eru ekki stærðfræðingar geta skilið. Ef þú kýst vísindalega rétta, ógnvekjandi stærðfræði útskýringu, þá er ég viss um að þú getir fundið það annars staðar ;-)

Fyrst skulum við hugsa um FNV-1 algrím sem uppskrift að því að búa til sérstakan smoothie. Hverja innihaldsefni sem þú bætir við (eins og ávexti, mjólk eða hunang) tákna bút af gögnum - eins og bókstafi, 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áberjum) muni gera smoothie-ið bragðann alveg öðruvísi. Þannig virka hash föll - þau búa til einstakt "bragð" (eða hash gildi) fyrir hvert einstakt sett af innihaldsefnum (eða inntaksgögnum).

Hvernig FNV-1 algrímið gerir þetta er í mörgum skrefum:

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

Hugsaðu um þetta eins og að hella sérstökum smoothie-grunni í blandarann þinn. Þessi grunnur er alltaf sá sami, sama hvaða innihaldsefni þú bætir við. Í FNV-1 er þetta kallað "offset basis" - bara fínn byrjunartala.

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

Nú byrjarðu að bæta við innihaldsefnum, eitt í einu - segjum jordgófu, síðan banana, síðan eitthvað hunang. Hvert þessara táknar eina byte af gögnum.

Skref 3: Blanda með Leyndarmálstala (FNV Prime)

Eftir að hafa bætt hverju innihaldsefni við, ýtir þú á blanda hnappinn, en hér er breytingin: blandarinn margfaldar allt með leyndarmál "töfratölu" sem kallast FNV prime. Þetta hjálpar til við að blanda saman allt mjög vel.

Skref 4: Bættu við smá Töfrum (XOR Aðgerð)

Áður en þú bætir við næsta innihaldsefni, strýkur þú örlítið töfradammi (þetta er XOR aðgerðin). Það er eins og að snúa bragðinu á óvæntan hátt, og tryggja að jafnvel litlar breytingar muni hafa mikil áhrif.

Skref 5: Endurtaktu þar til lokið

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

Skref 6: Loka Smoothie (Hash Gildi)

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

Útgáfan sem er kynnt hér er upprunalega FNV-1 32 bita útgáfan. Það er einnig til bætti FNV-1a 32 bita útgáfa til: Fowler-Noll-Vo FNV1a-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.