Miklix

Kikokotoo cha Msimbo wa Hash CRC-32B

Iliyochapishwa: 17 Februari 2025, 18:31:11 UTC
Mara ya mwisho kusasishwa: 12 Januari 2026, 09:16:19 UTC

Kikokotoo cha msimbo wa hash kinachotumia kitendakazi cha hash cha CRC-32B (Cyclic Redundancy Check 32 biti, aina ya B) ili kukokotoa msimbo wa hash kulingana na ingizo la 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-32B 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-32B, ambayo kwa kweli ni jambo lisilo la kawaida katika lugha ya PHP linalogeuza biti (little-endian dhidi ya big-endian katika CRC-32 ya asili).

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 Algorithimu ya Hash ya CRC-32B

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-32B, ambayo kwa kiasi kikubwa ni hali ya PHP ambayo hubadilisha mpangilio wa biti (little-endian dhidi ya big-endian). Labda unapaswa kutumia toleo hili tu ikiwa unahitaji utangamano na programu nyingine ya PHP inayoitumia.

Nina vikokotoo vya aina nyingine pia:

  • Kiungo
  • Kiungo

Kusoma Zaidi

Ikiwa ulifurahia chapisho hili, unaweza pia kupenda mapendekezo haya:


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

Mikkel Christensen

Kuhusu Mwandishi

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