CRC-32 Hash Generator

Kalkulahin ang CRC-32 checksums para sa beripikasyon ng integridad ng data at pagtuklas ng error sa mga file at komunikasyon sa network

Subukan ang mga halimbawang ito:

Ano ang CRC-32?

CRC-32 (Cyclic Redundancy Check, 32-bit) ay isang mabilis na checksum algorithm na ginagamit upang matukoy ang mga di-sinasadyang pagbabago sa data. Ito ay gumagawa ng 32-bit na halaga (8 hex na karakter) batay sa polynomial division ng input na data. Karaniwang ipinatupad sa hardware at software para sa error-checking sa mga network, storage device, at mga format ng file.

Paano gumagana ang CRC-32

  1. I-initialize ang isang 32-bit na rehistro sa lahat ng 1 (0xFFFFFFFF).
  2. Proseso ang bawat byte sa pamamagitan ng pag-XOR sa top byte ng rehistro at pag-index sa isang precomputed lookup table.
  3. I-shift ang rehistro ng 8 bits at i-XOR sa halaga ng table.
  4. Ulitin hanggang sa maproseso ang lahat ng bytes.
  5. Tapusin sa pamamagitan ng pag-invert ng rehistro (bitwise NOT) upang makuha ang CRC-32 na halaga.

Mga karaniwang aplikasyon

  • ZIP, gzip, PNG at iba pang mga format ng file para sa mga integrity check
  • Ethernet, PPP at iba pang mga network protocol
  • Mga storage device tulad ng HDD, SSD at RAID controllers
  • Pag-verify ng archive at mga integrity check ng pag-download

Mga halimbawa ng checksum

InputCRC-32
Hello World4a17b156
password477dff2a
test123c4b96aea
(walang laman)00000000

CRC-32 kumpara sa ibang mga checksum at hash

AlgorithmOutputCollision ResistanceSpeed
CRC-3232 bits❌ Mababa⚡ Napakabilis
MD5128 bits❌ Sira⚡ Mabilis
SHA-1160 bits❌ Kompromiso⚡ Mabilis
SHA-256256 bits✅ Ligtas🚀 Katamtaman
BLAKE3256 bits✅ Napakaligtas⚡ Napakabilis

Mga Madalas Itanong

Ligtas ba ang CRC-32 para sa cryptographic na paggamit?

Hindi. Ang CRC-32 ay dinisenyo para sa pagtuklas ng error, hindi para sa seguridad. Ito ay madaling maapektuhan ng sinadyang collisions.

Bakit gamitin ang CRC-32 sa halip na cryptographic hash?

Ang CRC-32 ay mas mabilis at sapat para sa pagtuklas ng mga di-sinasadyang error, ngunit hindi ito dapat gamitin para sa mga aplikasyon na kritikal sa seguridad.

Paano ko mapapatunayan ang pag-download ng isang file?

Gumawa ng CRC-32 checksum ng na-download na file at ihambing ito sa inilathalang halaga upang matiyak ang integridad.

Resources