Kalkulator Kode Hash CRC-32C
Diterbitkan: 17 Februari 2025 pukul 18.44.50 UTC
Kalkulator kode hash yang menggunakan fungsi hash CRC-32C (Cyclic Redundancy Check 32 bit, varian C) untuk menghitung kode hash berdasarkan masukan teks atau unggahan file.CRC-32C Hash Code Calculator
Cyclic Redundancy Check (CRC) adalah kode pendeteksi kesalahan yang umum digunakan untuk mendeteksi perubahan yang tidak disengaja pada data mentah. Meskipun secara teknis bukan fungsi hash kriptografi, CRC-32 sering disebut sebagai hash karena kemampuannya untuk menghasilkan keluaran berukuran tetap (32 bit) dari masukan dengan panjang variabel. Versi yang disajikan pada halaman ini adalah varian CRC-32C, yang merupakan versi yang lebih baru, "lebih cerdas" (deteksi kesalahan yang lebih baik) yang sering kali dipercepat perangkat keras pada CPU modern (melalui SSE 4.2).
Pengungkapan penuh: Saya tidak menulis implementasi spesifik dari fungsi hash yang digunakan pada halaman ini. Ini adalah fungsi standar yang disertakan dengan bahasa pemrograman PHP. Saya hanya membuat antarmuka web untuk membuatnya tersedia untuk umum di sini demi kenyamanan.
Tentang Algoritma Hash CRC-32C
Saya bukan ahli matematika, tetapi saya akan mencoba menjelaskan fungsi hash ini dengan analogi sederhana. Tidak seperti kebanyakan fungsi hash kriptografi, ini bukanlah algoritma yang rumit, jadi mungkin tidak masalah ;-)
Bayangkan Anda mengirim surat melalui pos, tetapi Anda khawatir surat itu akan rusak sebelum sampai ke penerima. Berdasarkan isi surat, Anda menghitung checksum CRC-32 dan menuliskannya di amplop. Saat penerima menerima surat, ia juga dapat menghitung checksum dan melihat apakah cocok dengan yang Anda tulis. Jika cocok, surat itu tidak rusak atau berubah selama pengiriman.
Cara CRC-32 melakukan hal ini adalah melalui proses empat langkah:
Langkah 1: Tambahkan Ruang Ekstra (Padding)
- CRC menambahkan sedikit ruang ekstra di akhir pesan (seperti mengemas kacang dalam kotak).
- Ini membantunya menemukan kesalahan dengan lebih mudah.
Langkah 2: Penggaris Ajaib (Polinomial)
- CRC-32 menggunakan "penggaris ajaib" khusus untuk mengukur data.
- Bayangkan penggaris ini seperti pola benjolan dan alur (ini adalah polinomial, tetapi jangan khawatir tentang kata itu).
- "Penggaris" yang paling umum untuk CRC-32 adalah pola tetap.
Langkah 3: Menggeser Penggaris (Proses Pembagian)
- Sekarang CRC menggeser penggaris melintasi pesan.
- Di setiap titik, ia memeriksa apakah tonjolan dan alurnya sejajar.
- Jika tidak berbaris, CRC membuat catatan (ini dilakukan menggunakan XOR sederhana, seperti menghidupkan atau mematikan sakelar).
- Ia terus menggeser dan membalik sakelar hingga mencapai ujung.
Langkah 4: Hasil Akhir (Checksum)
- Setelah menggeser penggaris di seluruh pesan, Anda akan mendapatkan angka kecil (panjang 32 bit) yang mewakili data asli.
- Angka ini seperti sidik jari yang unik untuk pesan tersebut.
- Ini adalah checksum CRC-32.
Versi yang disajikan di halaman ini adalah varian CRC-32C, yang seharusnya menjadi varian yang lebih disukai, terutama jika Anda menggunakan CPU yang dipercepat perangkat kerasnya (SSE 4.2 dan yang lebih baru) dan Anda tidak memerlukan kompatibilitas dengan varian lain.
Saya juga punya kalkulator untuk varian lainnya: