Miklix

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.

Halaman ini telah diterjemahkan mesin daripada bahasa Inggeris untuk menjadikannya boleh diakses oleh seramai mungkin orang. Malangnya, terjemahan mesin belum lagi merupakan teknologi yang sempurna, jadi ralat boleh berlaku. Jika anda mahu, anda boleh melihat versi bahasa Inggeris asal di sini:

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.


Kira Kod Hash Baharu

Data yang diserahkan atau fail yang dimuat naik melalui borang ini hanya akan disimpan pada pelayan selama yang diperlukan untuk menjana kod cincang yang diminta. Ia akan dipadamkan serta-merta sebelum hasilnya dikembalikan ke penyemak imbas anda.

Data input:



Teks yang diserahkan adalah dikodkan UTF-8. Memandangkan fungsi cincang beroperasi pada data binari, hasilnya akan berbeza daripada jika teks berada dalam pengekodan lain. Jika anda perlu mengira cincang teks dalam pengekodan tertentu, anda perlu memuat naik fail sebaliknya.



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:

Kongsi di BlueskyKongsi di FacebookKongsi di LinkedInKongsi di TumblrKongsi di XKongsi di LinkedInSematkan pada Pinterest

Mikkel Christensen

Mengenai Pengarang

Mikkel Christensen
Mikkel ialah pencipta dan pemilik miklix.com. Beliau mempunyai lebih 20 tahun pengalaman sebagai pengaturcara komputer/pembangun perisian profesional dan kini bekerja sepenuh masa untuk sebuah syarikat IT Eropah yang besar. Apabila tidak menulis blog, dia menghabiskan masa lapangnya dengan pelbagai minat, hobi dan aktiviti, yang mungkin sedikit sebanyak dapat dilihat dalam pelbagai topik yang diliputi di laman web ini.