Miklix

Fowler-Noll-Vo FNV1-64 Kikokotoo cha Msimbo wa Hash

Iliyochapishwa: 17 Februari 2025, 21:35:37 UTC

Kikokotoo cha msimbo wa Hash kinachotumia kipengele cha kukokotoa cha Fowler-Noll-Vo 1 64 bit (FNV1-64) ili kukokotoa msimbo wa hashi kulingana na maandishi au upakiaji wa faili.

Ukurasa huu ulitafsiriwa kwa mashine kutoka kwa Kiingereza ili kuifanya iweze kupatikana kwa watu wengi iwezekanavyo. Kwa bahati mbaya, utafsiri wa mashine bado sio teknolojia iliyokamilishwa, kwa hivyo makosa yanaweza kutokea. Ukipenda, unaweza kutazama toleo asili la Kiingereza hapa:

Fowler-Noll-Vo FNV1-64 Hash Code Calculator

Chaguo za kukokotoa za FNV-1 64-bit ni sehemu ya familia ya Fowler–Noll–Vo (FNV) ya vitendaji vya hashi, iliyoundwa kwa ajili ya kuharakisha haraka huku ikidumisha usambazaji mzuri wa thamani za heshi. Inatumika sana katika programu kama vile jedwali la hashi, hesabu za ukaguzi na ukaguzi wa data. Hutoa msimbo wa hashi wa biti 64 (baiti 8), mara nyingi huwakilishwa kama nambari ya heksadesimali yenye tarakimu 16.

Ufichuzi kamili: Sikuandika utekelezaji mahususi wa chaguo za kukokotoa za heshi zinazotumiwa kwenye ukurasa huu. Ni kazi ya kawaida iliyojumuishwa na lugha ya programu ya PHP. Nilitengeneza kiolesura cha wavuti ili kuifanya ipatikane hadharani hapa kwa urahisi.


Hesabu Msimbo Mpya wa Hash

Data iliyowasilishwa au faili zilizopakiwa kupitia fomu hii zitawekwa tu kwenye seva kwa muda mrefu kama inachukua ili kuzalisha msimbo wa hashi ulioombwa. Itafutwa mara moja kabla ya matokeo kurejeshwa kwenye kivinjari chako.

Data ya ingizo:



Maandishi yaliyowasilishwa yamesimbwa UTF-8. Kwa kuwa vitendaji vya heshi vinafanya kazi kwenye data binary, matokeo yatakuwa tofauti kuliko ikiwa maandishi yalikuwa katika usimbaji mwingine. Ikiwa unahitaji kukokotoa heshi ya maandishi katika usimbaji mahususi, unapaswa kupakia faili badala yake.



Kuhusu Fowler-Noll-Vo FNV-1 64 bit Hash Algorithm

Mimi si mtaalamu wa hisabati, lakini nitajaribu kueleza kazi hii ya heshi kwa kutumia mlinganisho ambao wenzangu wasio wanahisabati wanaweza kuelewa. Ikiwa unapendelea maelezo sahihi ya kisayansi, ya kutisha-hesabu, nina hakika unaweza kupata hiyo mahali pengine ;-)

Kwanza, hebu tufikirie algorithm ya FNV-1 kama kichocheo cha kutengeneza laini maalum. Kila kiungo unachoongeza (kama vile matunda, maziwa au asali) kinawakilisha kipande cha data - kama vile herufi, nambari, au hata faili nzima.

Sasa, lengo ni kuchanganya viungo hivi kwa njia maalum sana ili hata mabadiliko madogo katika mapishi (kama kuongeza blueberry moja ya ziada) hufanya ladha ya smoothie kuwa tofauti kabisa. Ndivyo kazi za heshi zinavyofanya kazi - huunda "ladha" ya kipekee (au thamani ya hashi) kwa kila seti ya kipekee ya viungo (au data ya ingizo).

Jinsi algorithm ya FNV-1 inavyofanya hivi ni mchakato wa hatua nyingi:

Hatua ya 1: Anza na Msingi (Msingi wa Kudhibiti)

Fikiria hili kama kumwaga msingi maalum wa laini kwenye blender yako. Msingi huu daima ni sawa, bila kujali ni viungo gani unavyoongeza. Katika FNV-1, hii inaitwa "msingi wa kukabiliana" - nambari ya kuanzia ya dhana tu.

Hatua ya 2: Ongeza Viungo Moja baada ya Moja (Kuchakata Data)

Sasa unaanza kuongeza viungo vyako, moja kwa wakati - hebu sema strawberry, basi ndizi, kisha asali. Kila moja ya hizi inawakilisha baiti ya data.

Hatua ya 3: Changanya na Kizidishi cha Siri (The FNV Prime)

Baada ya kuongeza kila kiungo, unapiga kifungo cha mchanganyiko, lakini hapa kuna twist: blender huzidisha kila kitu kwa "nambari ya uchawi" ya siri inayoitwa FNV prime. Hii inasaidia kuchanganya mambo vizuri sana.

Hatua ya 4: Ongeza Dashi ya Uchawi (Operesheni ya XOR)

Kabla ya kuongeza kiungo kinachofuata, unanyunyiza kwenye vumbi kidogo la uchawi (hii ni operesheni ya XOR). Ni kama kugeuza ladha kwa njia zisizotarajiwa, kuhakikisha hata mabadiliko madogo yanaleta tofauti kubwa.

Hatua ya 5: Rudia Hadi Kumaliza

Unaendelea kuchanganya na kunyunyiza uchawi baada ya kila kiungo kipya hadi utakapotayarisha kila kitu.

Hatua ya 6: Smoothie ya Mwisho (Thamani ya Hash)

Unapomaliza, unamwaga laini. Ladha ya mwisho (thamani ya hashi) ni ya kipekee kwa mchanganyiko kamili wa viungo. Ikiwa ungeongeza hata blueberry moja ya ziada, ingekuwa na ladha tofauti kabisa.

Toleo lililowasilishwa hapa ni toleo la asili la FNV-1 64 bit. Pia kuna toleo lililoboreshwa la FNV-1a 64 bit linapatikana: Kikokotoo cha Msimbo wa Fowler-Noll-Vo FNV1a-64 Hash

Shiriki kwenye BlueskyShiriki kwenye FacebookShiriki kwenye LinkedInShiriki kwenye TumblrShiriki kwenye XShiriki kwenye LinkedInBandika kwenye Pinterest

Mikkel Bang Christensen

Kuhusu Mwandishi

Mikkel Bang Christensen
Mikkel ndiye muundaji na mmiliki wa miklix.com. Ana uzoefu wa zaidi ya miaka 20 kama mtaalamu wa kupanga programu/programu za kompyuta na kwa sasa ameajiriwa muda wote kwa shirika kubwa la IT la Ulaya. Wakati si kublogi, yeye hutumia wakati wake wa ziada kwenye safu nyingi za mapendeleo, vitu vya kufurahisha, na shughuli, ambazo zinaweza kuonyeshwa kwa kadiri fulani katika mada anuwai zinazozungumziwa kwenye wavuti hii.