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