Kikokotoo cha Msimbo wa Hash CRC-32C
Iliyochapishwa: 17 Februari 2025, 18:45:40 UTC
Mara ya mwisho kusasishwa: 12 Januari 2026, 11:37:35 UTC
CRC-32C Hash Code Calculator
Ukaguzi wa Urejeshaji wa Mzunguko (CRC) ni msimbo wa kugundua hitilafu unaotumika sana kugundua mabadiliko ya bahati mbaya kwenye data ghafi. Ingawa kitaalamu si kitendakazi cha hashi ya kriptografia, CRC-32 mara nyingi hujulikana kama hashi kutokana na uwezo wake wa kutoa matokeo ya ukubwa usiobadilika (biti 32) kutoka kwa ingizo la urefu tofauti. Toleo lililowasilishwa kwenye ukurasa huu ni lahaja ya CRC-32C, ambayo ni toleo jipya zaidi, "nadhifu" (ugunduzi bora wa hitilafu) ambalo mara nyingi huharakishwa na vifaa kwenye CPU za kisasa (kupitia SSE 4.2).
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 Algorithimu ya Hash ya CRC-32C
Mimi si mtaalamu wa hisabati, lakini nitajaribu kuelezea chaguo hili la hashi kwa mlinganisho rahisi. Tofauti na chaguo nyingi za hashi za kriptografia, si algoriti ngumu sana, kwa hivyo labda itakuwa sawa ;-)
Hebu fikiria unatuma barua kwa njia ya posta, lakini una wasiwasi kwamba inaweza kuharibika kabla haijamfikia mpokeaji. Kulingana na maudhui ya barua, unahesabu cheki za CRC-32 na kuandika hiyo kwenye bahasha. Mpokeaji anapopokea barua, anaweza pia kuhesabu cheki hizo na kuona kama zinalingana na ulichoandika. Ikiwa zinafanana, barua hiyo haikuharibika au kubadilishwa njiani.
Jinsi CRC-32 inavyofanya hivi ni mchakato wa hatua nne:
Hatua ya 1: Ongeza Nafasi ya Ziada (Padding)
- CRC inaongeza nafasi kidogo ya ziada mwishoni mwa ujumbe (kama vile kufungasha karanga kwenye sanduku).
- Hii husaidia kutambua makosa kwa urahisi zaidi.
Hatua ya 2: Mtawala wa Uchawi (Polinomia)
- CRC-32 hutumia "rula ya uchawi" maalum kupima data. Fikiria rula hii kama muundo wa matuta na mifereji (hii ni polinomiali, lakini usijali kuhusu neno hilo). "Rula" ya kawaida kwa CRC-32 ni muundo usiobadilika.
Hatua ya 3: Kutelezesha Kitawala (Mchakato wa Kugawanya)
- Sasa CRC inatelezesha rula kwenye ujumbe. Katika kila sehemu, inaangalia kama matuta na mifereji imepangwa. Ikiwa havipangiki, CRC inaandika (hii inafanywa kwa kutumia XOR rahisi, kama vile kuwasha au kuzima swichi). Inaendelea kuteleza na kugeuza swichi hadi ifike mwisho.
Hatua ya 4: Matokeo ya Mwisho (Checksum)
- Baada ya kutelezesha rula kwenye ujumbe mzima, unabaki na nambari ndogo (urefu wa biti 32) inayowakilisha data asili. Nambari hii ni kama alama ya kidole ya kipekee kwa ujumbe. Hii ni cheki ya CRC-32.
Toleo lililowasilishwa kwenye ukurasa ni lahaja ya CRC-32C, ambayo inapaswa kuwa lahaja inayopendelewa, haswa ikiwa unatumia CPU ambayo ina vifaa vyake vinavyoharakishwa (SSE 4.2 na baadaye) na huhitaji utangamano na lahaja zingine.
Nina vikokotoo vya aina nyingine pia:
- Kiungo
- Kiungo
Kusoma Zaidi
Ikiwa ulifurahia chapisho hili, unaweza pia kupenda mapendekezo haya:
- Kikokotoo cha Msimbo wa Hash wa SHA-1
- Kikokotoo Msimbo wa Hash cha Whirlpool
- Kikokotoo cha Msimbo wa Fowler-Noll-Vo FNV1a-32 Hash
