Miklix

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.

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:

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.


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

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.