简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// checksum utility
CRC32Alat Checksum
HANYA SISI KLIEN
TIDAK ADA DATA YANG DIKIRIM
🔵Semua perhitungan berjalansecara lokal di browser Anda. Tidak ada data yang diunggah ke server mana pun. Mendukung varian CRC-32/ISO-HDLC, CRC-32C, CRC-32/MPEG-2, dan CRC-32/BZIP2.
Pengaturan Perhitungan
Varian CRC ↗
Pengkodean Masukan ↗
Format Keluaran ↗
Masukkan Data
Lepaskan file di sini
Siap - masukkan data dan klik "Hitung CRC32"
Hasil Perhitungan
ISO-HDLC
Castagnoli
MPEG-2
BZIP2
Verifikasi Checksum
Tempelkan nilai CRC32 yang diharapkan untuk membandingkannya dengan penghitungan saat ini.
Byte Masukan
0
Jumlah Perhitungan
0
Varian Saat Ini
ISO-HDLC
Berlalu (ms)
// CRC32 Variant Guide
Varian CRC
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.
Polinomial0x04C11DB7(normal) /0xEDB88320(tercermin)
Nilai Awal0xFFFFFFFF
Refleksi MasukanYa (RefIn = benar)
Refleksi KeluaranYa (RefOut = benar)
XOR Terakhir0xFFFFFFFF
Periksa Nilai0xCBF43926(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.
Polinomial0x1EDC6F41(normal) /0x82F63B78(tercermin)
Nilai Awal0xFFFFFFFF
Refleksi MasukanYa (RefIn = benar)
Refleksi KeluaranYa (RefOut = benar)
XOR Terakhir0xFFFFFFFF
Periksa Nilai0xE3069283(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.
Polinomial0x04C11DB7
Nilai Awal0xFFFFFFFF
Refleksi MasukanTidak (RefIn = salah)
Refleksi KeluaranTidak (RefOut = salah)
XOR Terakhir0x00000000(dinonaktifkan)
Periksa Nilai0x0376E6E7(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.
Polinomial0x04C11DB7
Nilai Awal0xFFFFFFFF
Refleksi MasukanTidak (RefIn = salah)
Refleksi KeluaranTidak (RefOut = salah)
XOR Terakhir0xFFFFFFFF
Periksa Nilai0xFC891918(untuk "123456789")
// Input Encoding Guide
Pengkodean Masukan
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 UntukTeks biasa, kode sumber, JSON, XML
Contoh"Halo" →48 65 6C 6C 6F(5 byte)
Karakter CJKSebagian 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.
FormatHanya0-9dana-f / A-Fdiizinkan
Jumlah KarakterHarus genap (2 karakter per byte)
Contoh48656C6C6F= "Halo" (5 byte)
Spasi putihDiabaikan 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.
AlfabetA-Z a-z 0-9 + / =
ContohSGVsbG8=→ "Halo" (5 byte)
URL amanTidak didukung. Ganti-→+dan_→/pertama
⚠ 1 KarakterTidak Valid — 6 bit tidak cukup untuk membentuk 1 byte (diperlukan 8 bit)
2 KarakterMendekode ke1 byte(masukan minimum yang valid)
3 KarakterMendekode ke2 byte
4 KarakterMendekode ke3 byte(pola berulang setiap 4 karakter)
// Output Format Guide
Format Keluaran
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.
Contoh0xCBF43926
Panjang8 karakter heksadesimal = 32 bit
BasisBasis 16 (0-9, AF)
Terbaik UntukKode, 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.
Contoh3421780262
Rentang0–4,294,967,295
CatatanUntuk Java int, konversikan dengan& 0xFFFFFFFFL
Terbaik UntukDatabase, 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.
Contoh0b11001011…00100110
PanjangDiperbaiki pada 32 bit dengan padding nol kiri
Bit TertinggiBit 31 (MSB) muncul di paling kiri
Terbaik UntukAnalisis 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.
Contoh0o31572031046
PanjangHingga 11 digit oktal
Per DigitMewakili 3 bit (0-7)
Terbaik UntukAlat Unix, spesifikasi protokol lama