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
- I-initialize ang isang 32-bit na rehistro sa lahat ng 1 (0xFFFFFFFF).
- Proseso ang bawat byte sa pamamagitan ng pag-XOR sa top byte ng rehistro at pag-index sa isang precomputed lookup table.
- I-shift ang rehistro ng 8 bits at i-XOR sa halaga ng table.
- Ulitin hanggang sa maproseso ang lahat ng bytes.
- 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
Input | CRC-32 |
---|---|
Hello World | 4a17b156 |
password | 477dff2a |
test123 | c4b96aea |
(walang laman) | 00000000 |
CRC-32 kumpara sa ibang mga checksum at hash
Algorithm | Output | Collision Resistance | Speed |
---|---|---|---|
CRC-32 | 32 bits | ❌ Mababa | ⚡ Napakabilis |
MD5 | 128 bits | ❌ Sira | ⚡ Mabilis |
SHA-1 | 160 bits | ❌ Kompromiso | ⚡ Mabilis |
SHA-256 | 256 bits | ✅ Ligtas | 🚀 Katamtaman |
BLAKE3 | 256 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.