Kalkulator CRC (CRC-8, CRC-16, CRC-32, CRC-64)
Hitung CRC-32, CRC-32C, CRC-16 (MODBUS, CCITT, XMODEM), CRC-8, dan CRC-64 dari teks atau byte hex. Semua varian sekaligus, output hex atau desimal.
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Apa itu Kalkulator CRC?
Cyclic redundancy check (CRC) adalah checksum pendek yang dipakai untuk mendeteksi perubahan data yang tidak disengaja. Kalkulator ini menghitung CRC-32 (zip, PNG, Ethernet), CRC-32C (iSCSI, ext4, SCTP), CRC-32/BZIP2, CRC-32/MPEG-2, CRC-16/ARC, CRC-16/MODBUS, CRC-16/CCITT-FALSE, CRC-16/XMODEM, CRC-16/KERMIT, CRC-8/SMBUS, CRC-8/MAXIM, dan CRC-64/XZ untuk input teks, hex, atau Base64, lalu menampilkan semua varian sekaligus sehingga Anda bisa menemukan varian yang dipakai perangkat atau format file Anda.
Cara menggunakan Kalkulator CRC
- Ketik teks di Teks yang akan di-hash, atau pilih Byte heksadesimal sebagai encoding input lalu tempel byte dari sebuah frame atau paket (spasi diabaikan).
- Pilih Varian CRC yang Anda perlukan; hasilnya tampil di bagian atas dan disorot di tabel Semua varian CRC.
- Pilih Format output: heksadesimal (huruf kecil atau besar) atau Desimal.
- Klik Salin untuk menyalin CRC yang dipilih, atau baca varian lain dari tabel.
Contoh
123456789 (text)
cbf43926
Nilai cek CRC-32. Tabel juga menampilkan CRC-32C e3069283, CRC-16/MODBUS 4b37, CRC-16/CCITT-FALSE 29b1, dan CRC-64/XZ 995dc9bbdf1939fa.
Kapan menggunakan Kalkulator CRC
Gunakan untuk menghitung atau men-debug checksum protokol serial (Modbus RTU, XMODEM), format file (ZIP, PNG, gzip), serta sistem penyimpanan atau jaringan (iSCSI, ext4). Alat ini juga praktis untuk mengenali CRC yang belum diketahui dengan membandingkan frame yang sudah diketahui terhadap tabel. Jangan gunakan CRC untuk keamanan: CRC bersifat linear dan sangat mudah dipalsukan, sehingga siapa pun bisa mengubah data lalu memperbaiki CRC-nya. Gunakan hash kriptografis atau MAC sebagai gantinya.
Cara kerja Kalkulator CRC
CRC memperlakukan data sebagai polinomial biner yang besar dan menghitung sisa pembagiannya dengan polinomial generator tetap (modulo 2). Setiap varian ditentukan oleh lebar, polinomial, nilai awal, apakah bit input dan output dibalik (reflected), serta nilai XOR akhir (model Rocksoft). Alat ini memakai tabel lookup 256 entri per varian dan memverifikasi setiap varian terhadap nilai cek katalognya, yaitu CRC dari string ASCII 123456789 (misalnya CRC-32 = cbf43926, CRC-32C = e3069283, CRC-16/MODBUS = 4b37). Hasil ditampilkan sebagai angka hex big-endian atau dalam desimal.
Kasus Penggunaan Umum
- Menghitung CRC-16/MODBUS dari frame RTU sebelum dikirim
- Memeriksa CRC-32 yang tersimpan di ZIP atau chunk PNG
- Mengenali varian CRC yang dipakai perangkat dari contoh frame
- Membuat nilai CRC-32C untuk data uji penyimpanan atau jaringan
- Menyusun test vector untuk implementasi CRC di sistem embedded
Catatan Keamanan
CRC hanya mendeteksi kesalahan yang tidak disengaja. CRC tidak melindungi dari modifikasi yang disengaja, karena CRC bisa dihitung ulang atau dipaksa ke nilai apa pun dengan aljabar linear sederhana.
Pertanyaan Umum
Varian CRC mana yang saya perlukan?
Itu ditentukan oleh protokol atau formatnya: ZIP/PNG/Ethernet memakai CRC-32, iSCSI/ext4/Btrfs memakai CRC-32C, Modbus RTU memakai CRC-16/MODBUS, dan XMODEM memakai CRC-16/XMODEM. Jika tidak tahu, bandingkan frame yang sudah diketahui dengan semua baris tabel.
Modbus mengirim byte rendah CRC lebih dulu — mengapa hex-nya tampil berbeda?
Alat ini menampilkan CRC sebagai angka hex big-endian (misalnya 4b37). Modbus RTU mengirimkannya mulai dari byte paling tidak signifikan, sehingga di jalur data Anda melihat 37 4B.
Mengapa frame hex saya menghasilkan CRC yang tidak sesuai harapan?
Pastikan Byte heksadesimal dipilih; dengan Teks (UTF-8) yang di-hash adalah karakter 0–9 dan a–f itu sendiri. Jangan sertakan juga byte CRC di dalam input.
Apakah CRC-32 sama dengan perintah cksum?
Tidak. POSIX cksum memakai polinomial CRC-32 yang tidak dibalik dan juga mencampurkan panjang file. Gunakan CRC-32 di sini untuk nilai zip, gzip, dan PNG.