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