Miklix

CRC-32C Hash Code Calculator

Nai-publish: Marso 19, 2025 nang 8:52:28 PM UTC

Hash code calculator na gumagamit ng CRC-32C (Cyclic Redundancy Check 32 bit, C variant) hash function upang kalkulahin ang isang hash code batay sa text input o pag-upload ng file.

Ang pahinang ito ay isinalin sa makina mula sa Ingles upang gawin itong naa-access sa pinakamaraming tao hangga't maaari. Sa kasamaang palad, ang pagsasalin ng makina ay hindi pa isang perpektong teknolohiya, kaya maaaring mangyari ang mga error. Kung gusto mo, maaari mong tingnan ang orihinal na bersyong Ingles dito:

CRC-32C Hash Code Calculator

Ang Cyclic Redundancy Check (CRC) ay isang error-detecting code na karaniwang ginagamit upang makita ang mga hindi sinasadyang pagbabago sa raw data. Bagama't hindi teknikal na isang cryptographic na hash function, ang CRC-32 ay madalas na tinutukoy bilang isang hash dahil sa kakayahang gumawa ng fixed-size na output (32 bits) mula sa variable-length na input. Ang bersyon na ipinakita sa pahinang ito ay ang variant ng CRC-32C, na isang mas bagong bersyon na "mas matalino" (mas mahusay na pagtuklas ng error) na kadalasang pinabilis ng hardware sa mga modernong CPU (sa pamamagitan ng SSE 4.2).

Buong pagsisiwalat: Hindi ko isinulat ang partikular na pagpapatupad ng hash function na ginamit sa pahinang ito. Ito ay isang karaniwang function na kasama sa PHP programming language. Ginawa ko lang ang web interface para gawin itong available sa publiko dito para sa kaginhawahan.


Kalkulahin ang Bagong Hash Code

Ang data na isinumite o mga file na na-upload sa pamamagitan ng form na ito ay itatago lamang sa server hangga't kinakailangan upang mabuo ang hiniling na hash code. Matatanggal ito kaagad bago maibalik ang resulta sa iyong browser.

Input na data:



Ang isinumiteng text ay UTF-8 na naka-encode. Dahil gumagana ang mga hash function sa binary data, magiging iba ang resulta kaysa kung nasa ibang encoding ang text. Kung kailangan mong kalkulahin ang isang hash ng isang text sa isang partikular na encoding, dapat kang mag-upload ng file sa halip.



Tungkol sa CRC-32C Hash Algorithm

Hindi ako isang matematiko, pero susubukan kong ipaliwanag ang hash function na ito gamit ang isang simpleng analohiya. Hindi tulad ng marami sa mga cryptographic hash function, hindi ito isang partikular na kumplikadong algorithm, kaya malamang ay okay lang ito ;-)

Isipin mo na nagpadala ka ng liham sa koreo, pero nag-aalala kang baka masira ito bago makarating sa tatanggap. Batay sa nilalaman ng liham, kinakalkula mo ang CRC-32 checksum at isinusulat ito sa sobre. Kapag natanggap ng tatanggap ang liham, maaari rin niyang kalkulahin ang checksum at tingnan kung ito ay tumutugma sa isinulat mo. Kung tugma, nangangahulugan ito na hindi nasira o nabago ang liham habang nasa biyahe.

Ang paraan ng paggawa ng CRC-32 nito ay isang proseso ng apat na hakbang:

Hakbang 1: Magdagdag ng Karagdagang Espasyo (Padding)

  • Magdadagdag ang CRC ng kaunting espasyo sa dulo ng mensahe (parang packing peanuts sa loob ng kahon).
  • Nakakatulong ito upang madaling makita ang mga error.

Hakbang 2: Ang Mahikang Ruler (Ang Polynomial)

  • Gumagamit ang CRC-32 ng isang espesyal na "mahikang ruler" upang sukatin ang datos.
    • Isipin mo ang ruler na ito bilang isang pattern ng mga bunton at uka (ito ang polynomial, pero huwag mag-alala tungkol sa salitang iyon).
    • Ang pinaka-karaniwang "ruler" para sa CRC-32 ay isang fixed na pattern.

Hakbang 3: Pag-slide ng Ruler (Proseso ng Dibisyon)

  • Ngayon, ang CRC ay nag-slide ng ruler sa buong mensahe.
    • Sa bawat bahagi, tinitingnan nito kung tumutugma ang mga bunton at uka.
    • Kung hindi tumutugma, gumagawa ang CRC ng tala (ginagawa ito gamit ang simpleng XOR, parang pagpapalit-palit ng switch on o off).
    • Patuloy itong mag-slide at magpalit ng switch hanggang makarating sa dulo.

Hakbang 4: Ang Panghuling Resulta (Ang Checksum)

  • Pagkatapos i-slide ang ruler sa buong mensahe, mag-iiwan ka ng isang maliit na numero (32 bits ang haba) na kumakatawan sa orihinal na datos.
    • Ang numerong ito ay parang isang natatanging fingerprint para sa mensahe.
    • Ito ang CRC-32 checksum.

Ang bersyon na ipinapakita sa pahina ay ang CRC-32C variant, na dapat na ang pinapaboran na variant, lalo na kung gumagamit ka ng isang CPU na may hardware acceleration para dito (SSE 4.2 at mas mataas) at hindi mo kailangan ng compatibility sa iba pang mga variant.

Mayroon din akong mga calculator para sa iba pang mga variant:

Ibahagi sa BlueskyIbahagi sa FacebookIbahagi sa LinkedInIbahagi sa TumblrIbahagi sa XIbahagi sa LinkedInI-pin sa Pinterest

Mikkel Christensen

Tungkol sa May-akda

Mikkel Christensen
Si Mikkel ang lumikha at may-ari ng miklix.com. Siya ay may higit sa 20 taong karanasan bilang isang propesyonal na computer programmer/software developer at kasalukuyang nagtatrabaho ng full-time para sa isang malaking European IT corporation. Kapag hindi nagba-blog, ginugugol niya ang kanyang bakanteng oras sa isang malawak na hanay ng mga interes, libangan, at aktibidad, na maaaring sa ilang lawak ay makikita sa iba't ibang mga paksang sakop sa website na ito.