Kikokotoo Cha Msimbo wa Hash cha CRC-32
Iliyochapishwa: 17 Februari 2025, 18:13:12 UTC
Kikokotoo cha msimbo wa Hash ambacho hutumia CRC-32 (Cyclic Redundancy Check 32 bit) kazi ya hash kuhesabu msimbo wa hash kulingana na pembejeo ya maandishi au upakiaji wa faili.CRC-32 Hash Code Calculator
Ukaguzi wa Redundancy ya Cyclic (CRC) ni msimbo wa kugundua hitilafu ambao hutumiwa kugundua mabadiliko ya bahati mbaya kwa data mbichi. Wakati sio kitaalam kazi ya hash ya kriptografia, CRC-32 mara nyingi hujulikana kama hash kutokana na uwezo wake wa kuzalisha pato la ukubwa wa kudumu (32 bits) kutoka kwa pembejeo ya urefu wa kutofautiana.
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.
Kuhusu algorithm ya CRC-32 Hash
Mimi si mtaalamu wa hisabati, lakini nitajaribu kuelezea kazi hii ya hash na analogi rahisi. Tofauti na kazi nyingi za hash ya kriptografia, sio algorithm ngumu sana, kwa hivyo labda itakuwa sawa ;-)
Fikiria unatuma barua kwenye barua, lakini una wasiwasi inaweza kuharibiwa kabla ya kufika kwa mpokeaji. Kulingana na yaliyomo kwenye barua, unahesabu hundi ya CRC-32 na uandike kwenye bahasha. Wakati mpokeaji anapokea barua, anaweza pia kuhesabu checksum na kuona ikiwa inafanana na kile ulichoandika. Ikiwa ni hivyo, barua hiyo haikuharibiwa au kubadilishwa njiani.
Njia ya CRC-32 inafanya hivyo ni mchakato wa hatua nne:
Hatua ya 1: Ongeza Nafasi ya Ziada (Padding)
- CRC inaongeza chumba kidogo cha ziada mwishoni mwa ujumbe (kama kufunga karanga kwenye sanduku).
- Hii inasaidia kuona makosa kwa urahisi zaidi.
Hatua ya 2: Mtawala wa uchawi (The Polynomial)
- CRC-32 hutumia "mtawala wa ajabu" maalum kupima data.
- Fikiria mtawala huyu kama mfano wa matuta na grooves (hii ni polynomial, lakini usijali juu ya neno hilo).
- "Mtawala" wa kawaida wa CRC-32 ni muundo uliowekwa.
Hatua ya 3: Kuteleza Mtawala (Mchakato wa Mgawanyiko)
- Sasa CRC inatelezesha mtawala kwenye ujumbe.
- Katika kila sehemu, huangalia ikiwa matuta na grooves hupanga.
- Ikiwa hawajipanga, CRC hufanya noti (hii imefanywa kwa kutumia XOR rahisi, kama swichi za kugeuza au kuzima).
- Inaendelea kuteleza na kugeuza swichi hadi ifikie mwisho.
Hatua ya 4: Matokeo ya Mwisho (The Checksum)
- Baada ya kutelezesha mtawala kwenye ujumbe mzima, umeachwa na nambari ndogo (32 bits kwa muda mrefu) ambayo inawakilisha data ya awali.
- Nambari hii ni kama alama ya kidole ya kipekee kwa ujumbe.
- Hii ni orodha ya CRC-32.
Toleo lililowasilishwa kwenye ukurasa ni kazi ya asili ya CRC-32, ambayo ndio unapaswa kutumia kwa utangamano bora na mifumo mingine.
Nina mahesabu kwa anuwai zingine pia: