Kalkulator Kod Hash CRC-32
Diterbitkan: 19 Mac 2025 pada 8:50:18 PTG UTC
Kalkulator kod cincang yang menggunakan fungsi cincang CRC-32 (Cyclic Redundancy Check 32 bit) untuk mengira kod cincang berdasarkan input teks atau muat naik fail.CRC-32 Hash Code Calculator
Cyclic Redundancy Check (CRC) ialah kod pengesan ralat yang biasa digunakan untuk mengesan perubahan tidak sengaja pada data mentah. Walaupun secara teknikalnya bukan fungsi cincang kriptografi, CRC-32 sering dirujuk sebagai cincang kerana keupayaannya untuk menghasilkan output bersaiz tetap (32 bit) daripada input panjang berubah-ubah.
Pendedahan penuh: Saya tidak menulis pelaksanaan khusus fungsi cincang yang digunakan pada halaman ini. Ia adalah fungsi standard yang disertakan dengan bahasa pengaturcaraan PHP. Saya hanya membuat antara muka web untuk menjadikannya tersedia secara umum di sini untuk kemudahan.
Mengenai Algoritma Hash CRC-32
Saya bukan seorang ahli matematik, tetapi saya akan cuba menerangkan fungsi hash ini dengan analogi yang mudah. Berbeza dengan banyak fungsi hash kriptografi, ia bukan algoritma yang terlalu rumit, jadi mungkin ia akan okay ;-)
Bayangkan anda menghantar sepucuk surat melalui pos, tetapi anda bimbang surat itu mungkin rosak sebelum sampai ke penerima. Berdasarkan kandungan surat tersebut, anda mengira checksum CRC-32 dan menulisnya di atas sampul surat. Apabila penerima menerima surat tersebut, dia juga boleh mengira checksum dan melihat jika ia sepadan dengan apa yang anda tulis. Jika sepadan, surat itu tidak rosak atau diubah sepanjang perjalanan.
Cara CRC-32 melakukan ini adalah dengan proses empat langkah:
Langkah 1: Menambah Ruang Tambahan (Padding)
- CRC menambah sedikit ruang tambahan di hujung mesej (seperti kacang pembungkusan dalam kotak).
- Ini membantu ia mengesan ralat dengan lebih mudah.
Langkah 2: Pembaris Ajaib (Polinomial)
- CRC-32 menggunakan "pembaris ajaib" khas untuk mengukur data.
- Fikirkan pembaris ini seperti corak benjolan dan alur (ini adalah polinomial, tetapi jangan risau tentang perkataan itu).
- "Pembaris" yang paling biasa untuk CRC-32 adalah corak tetap.
Langkah 3: Menggeser Pembaris (Proses Pembahagian)
- Sekarang CRC menggeser pembaris merentasi mesej.
- Di setiap tempat, ia memeriksa jika benjolan dan alur sejajar.
- Jika tidak sejajar, CRC membuat nota (ini dilakukan dengan menggunakan XOR yang mudah, seperti menukar suis hidup atau mati).
- Ia terus menggeser dan menukar suis sehingga sampai ke penghujung.
Langkah 4: Keputusan Akhir (Checksum)
- Selepas menggeser pembaris merentasi seluruh mesej, anda akan mendapat nombor kecil (32 bit panjang) yang mewakili data asal.
- Nombor ini seperti cap jari unik untuk mesej tersebut.
- Ini adalah checksum CRC-32.
Versi yang dipersembahkan di halaman ini adalah fungsi CRC-32 asal, yang merupakan versi yang sebaiknya digunakan untuk keserasian terbaik dengan sistem lain.
Saya juga mempunyai kalkulator untuk varian lain: