CRC-32 / ISO-HDLCPKZip · PNG · Ethernet
Implementasi CRC-32 yang paling umum, juga disebut CRC-32b. Ini menggunakan bentuk refleksi polinomial 0x04C11DB7, yaitu 0xEDB88320. Baik byte input maupun output direfleksikan secara bit (LSB terlebih dahulu), dengan nilai awal dan XOR akhir keduanya disetel ke 0xFFFFFFFF.
Banyak digunakan oleh ZIP, gzip, gambar PNG, frame Ethernet (IEEE 802.3), PKCS#7, dan banyak sistem lama. Ini adalah varian "CRC-32" de facto.
| Polinomial | 0x04C11DB7(normal) /0xEDB88320(tercermin) |
| Nilai Awal | 0xFFFFFFFF |
| Refleksi Masukan | Ya (RefIn = benar) |
| Refleksi Keluaran | Ya (RefOut = benar) |
| XOR Terakhir | 0xFFFFFFFF |
| Periksa Nilai | 0xCBF43926(untuk "123456789") |
CRC-32C / CastagnoliiSCSI · NVMe · SCTP
Diusulkan oleh G. Castagnoli dan rekannya pada tahun 1993, varian ini menggunakan polinomial 0x1EDC6F41 (bentuk refleksi 0x82F63B78). Pada jarak Hamming yang sama, ia menawarkan deteksi kesalahan burst yang lebih kuat dibandingkan polinomial ISO-HDLC.
Akselerasi perangkat keras tersedia melalui instruksi Intel SSE4.2 dan ARM CRC32. Ini banyak digunakan dalam protokol penyimpanan dan transportasi modern seperti iSCSI, NVMe, Btrfs, dan SCTP.
| Polinomial | 0x1EDC6F41(normal) /0x82F63B78(tercermin) |
| Nilai Awal | 0xFFFFFFFF |
| Refleksi Masukan | Ya (RefIn = benar) |
| Refleksi Keluaran | Ya (RefOut = benar) |
| XOR Terakhir | 0xFFFFFFFF |
| Periksa Nilai | 0xE3069283(untuk "123456789") |
CRC-32 / MPEG-2MPEG-2 · DVB · ATSC
Menggunakan polinomial 0x04C11DB7 yang sama dengan ISO-HDLC, tetapi tidak ada input maupun outputbit-tercermin(MSB dulu, big-endian). Nilai awal adalah 0xFFFFFFFF dan XOR akhir dinonaktifkan (XorOut = 0x00000000).
Terutama digunakan untuk tabel PSI/SI di aliran transport MPEG-2 (PAT, PMT, NIT, dan tabel terkait), ditambah pemeriksaan integritas dalam sistem siaran DVB dan ATSC.
| Polinomial | 0x04C11DB7 |
| Nilai Awal | 0xFFFFFFFF |
| Refleksi Masukan | Tidak (RefIn = salah) |
| Refleksi Keluaran | Tidak (RefOut = salah) |
| XOR Terakhir | 0x00000000(dinonaktifkan) |
| Periksa Nilai | 0x0376E6E7(untuk "123456789") |
CRC-32 / BZIP2BZip2 · AAL5 · DES
Parameternya hampir identik dengan MPEG-2 (polinomial 0x04C11DB7, tanpa refleksi, nilai awal 0xFFFFFFFF). Perbedaannya hanyalah aXOR akhir dengan 0xFFFFFFFF, yang membalik setiap bit. Ia juga dikenal sebagai CRC-32/AAL5 atau CRC-32/DECT-B.
Digunakan oleh format file terkompresi BZip2 dan bidang checksum trailer dari protokol ATM AAL5.
| Polinomial | 0x04C11DB7 |
| Nilai Awal | 0xFFFFFFFF |
| Refleksi Masukan | Tidak (RefIn = salah) |
| Refleksi Keluaran | Tidak (RefOut = salah) |
| XOR Terakhir | 0xFFFFFFFF |
| Periksa Nilai | 0xFC891918(untuk "123456789") |
UTF-8 TeksDefault · Umum
Memperlakukan masukan sebagai aUTF-8string, ubah menjadi byte, lalu hitung CRC32. Ini adalah mode paling umum untuk teks biasa, kode sumber, JSON, dan konten serupa.
Catatan: teks yang sama yang dikodekan dengan kumpulan karakter berbeda seperti GBK atau UTF-16 menghasilkan aliran byte berbeda dan oleh karena itu nilai CRC32 berbeda. Alat ini selalu menggunakan UTF-8.
| Terbaik Untuk | Teks biasa, kode sumber, JSON, XML |
| Contoh | "Halo" →48 65 6C 6C 6F(5 byte) |
| Karakter CJK | Sebagian besar karakter CJK menggunakan 3 byte dalam UTF-8 |
HeksadesimalData Biner · Bingkai Protokol
Memperlakukan masukan sebagai mentahliteral byte heksadesimal. Spasi dan jeda baris diabaikan. Setiap dua karakter hex menjadi satu byte (00–FF).
Berguna ketika Anda memerlukan pemeriksaan CRC untuk data biner yang tepat seperti bingkai jaringan, fragmen gambar firmware, atau dump memori. Anda dapat menempelkan keluaran Wireshark atau hex dump secara langsung.
| Format | Hanya0-9dana-f / A-Fdiizinkan |
| Jumlah Karakter | Harus genap (2 karakter per byte) |
| Contoh | 48656C6C6F= "Halo" (5 byte) |
| Spasi putih | Diabaikan secara otomatis.48 65 6Csama dengan48656C |
Base64Biner Terkode · Sertifikat · Gambar
Memperlakukan masukan sebagai aString berkode Base64, menerjemahkannya menjadi byte mentah, lalu menghitung CRC32. Berguna untuk sertifikat PEM, payload JWT, URI Data, dan konten Base64 lainnya.
Mendukung alfabet Base64 standar (A-Z a-z 0-9 + /). Karakter bantalan=adalah opsional. Base64 yang aman untuk URL (-_) tidak didukung.
| Alfabet | A-Z a-z 0-9 + / = |
| Contoh | SGVsbG8=→ "Halo" (5 byte) |
| URL aman | Tidak didukung. Ganti-→+dan_→/pertama |
| ⚠ 1 Karakter | Tidak Valid — 6 bit tidak cukup untuk membentuk 1 byte (diperlukan 8 bit) |
| 2 Karakter | Mendekode ke1 byte(masukan minimum yang valid) |
| 3 Karakter | Mendekode ke2 byte |
| 4 Karakter | Mendekode ke3 byte(pola berulang setiap 4 karakter) |
HeksadesimalPaling Umum · Default
Menampilkan nilai sebagai angka heksadesimal 8 digit huruf besar yang diawali dengan0x. Setiap karakter mewakili 4 bit, sehingga totalnya 32 bit. Ini adalah format standar yang digunakan di sebagian besar alat, kode sumber, dan dokumentasi.
Dibandingkan dengan keluaran desimal, heksadesimal membuat batas byte lebih mudah diperiksa dan mencocokkan dump memori dan bidang protokol secara lebih alami.
| Contoh | 0xCBF43926 |
| Panjang | 8 karakter heksadesimal = 32 bit |
| Basis | Basis 16 (0-9, AF) |
| Terbaik Untuk | Kode, dokumentasi, Wireshark, editor hex |
DesimalInteger 32-bit yang tidak ditandatangani
Menampilkan checksum sebagaibilangan bulat desimal 32-bit yang tidak ditandatanganidalam kisaran 0–4.294.967.295 (2³²−1). Beberapa bahasa dan alat membandingkan nilai CRC dalam bentuk desimal, dan bidang database sering kali menyimpan representasi ini.
Catatan: Hasil CRC32 harus diperlakukan sebagai bilangan bulat yang tidak ditandatangani. Dalam tipe int yang ditandatangani seperti Java atau C#, nilai di atas 0x7FFFFFFFF mungkin tampak negatif dan harus dikonversi ke uint atau representasi unsigned yang lebih luas.
| Contoh | 3421780262 |
| Rentang | 0–4,294,967,295 |
| Catatan | Untuk Java int, konversikan dengan& 0xFFFFFFFFL |
| Terbaik Untuk | Database, nilai struct Python, perbandingan numerik |
BinerAnalisis Tingkat Bit
Menampilkan checksum sebagai string biner 32-bit yang diawali dengan0b. Setiap karakter bernilai 0 atau 1, disejajarkan dengan bit paling signifikan di sebelah kiri, dan diisi dengan angka nol di depannya bila diperlukan.
Terutama berguna untuk memahami algoritma CRC internal, mempelajari pembagian polinomial, pengajaran, dan skenario tertanam yang memerlukan pemrosesan checksum tingkat bit.
| Contoh | 0b11001011…00100110 |
| Panjang | Diperbaiki pada 32 bit dengan padding nol kiri |
| Bit Tertinggi | Bit 31 (MSB) muncul di paling kiri |
| Terbaik Untuk | Analisis algoritma, pengajaran, debugging tertanam |
OktalUnix · Sistem File
Menampilkan checksum sebagai bilangan oktal 11 digit yang diawali dengan0o. Paling banyak 11 karakter oktal diperlukan untuk 32 bit karena 3×11 = 33 > 32. Setiap digit oktal mewakili 3 bit.
Output oktal jarang terjadi dalam alur kerja CRC modern, namun masih muncul di beberapa alat Unix, rantai alat firmware tertanam, dan spesifikasi protokol komunikasi yang lebih lama.
| Contoh | 0o31572031046 |
| Panjang | Hingga 11 digit oktal |
| Per Digit | Mewakili 3 bit (0-7) |
| Terbaik Untuk | Alat Unix, spesifikasi protokol lama |