English 简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// tiện ích tổng kiểm tra
CRC 32 Công cụ kiểm tra tổng
CHỈ DÀNH CHO KHÁCH HÀNG
KHÔNG CÓ DỮ LIỆU ĐƯỢC TRUYỀN
🔵 Tất cả các phép tính chạy cục bộ trong trình duyệt của bạn . Không có dữ liệu được tải lên bất kỳ máy chủ. Hỗ trợ các biến thể CRC-32/ISO-HDLC, CRC-32C, CRC-32/MPEG-2 và CRC-32/BZIP2.
Cài đặt tính toán
Biến thể CRC ↗
Mã hóa đầu vào ↗
Định dạng đầu ra ↗
Dữ liệu đầu vào
Thả tệp vào đây
Sẵn sàng - nhập dữ liệu và nhấp vào "Tính CRC32"
Kết quả tính toán
ISO-HDLC
Castagnoli
MPEG-2
BZIP2
Xác minh tổng kiểm tra
Dán giá trị CRC32 dự kiến để so sánh với phép tính hiện tại.
Số byte đầu vào
0
Tổng số phép tính
0
Biến thể hiện tại
ISO-HDLC
Đã trôi qua (ms)
// Hướng dẫn về biến thể CRC32
Các biến thể CRC
CRC-32 / ISO-HDLC PKZip · PNG · Ethernet
Việc triển khai CRC-32 phổ biến nhất, còn được gọi là CRC-32b. Nó sử dụng dạng phản ánh của đa thức 0x04C11DB7, cụ thể là 0xEDB88320. Cả byte đầu vào và đầu ra đều được phản ánh bit (LSB đầu tiên), với giá trị ban đầu và XOR cuối cùng đều được đặt thành 0xFFFFFFFF.

Được sử dụng rộng rãi bởi hình ảnh ZIP, gzip, PNG, khung Ethernet (IEEE 802.3), PKCS#7 và nhiều hệ thống cũ. Trên thực tế đây là biến thể "CRC-32 mặc định".
Đa thức 0x04C11DB7 (bình thường) / 0xEDB88320 (phản ánh)
Giá trị ban đầu 0xFFFFFFFF
Phản xạ đầu vào Có (RefIn = true)
Phản xạ đầu ra Có (RefOut = true)
XOR cuối cùng 0xFFFFFFFF
Kiểm tra giá trị 0xCBF43926 (dành cho "123456789")
CRC-32C / Castagnoli iSCSI · NVMe · SCTP
Được đề xuất bởi G. Castagnoli và các đồng nghiệp vào năm 1993, biến thể này sử dụng đa thức 0x1EDC6F41 (dạng phản ánh 0x82F63B78). Ở cùng khoảng cách Hamming, nó cung cấp khả năng phát hiện lỗi cụm mạnh hơn đa thức ISO-HDLC.

Khả năng tăng tốc phần cứng có sẵn thông qua hướng dẫn Intel SSE4.2 và ARM CRC32. Nó được sử dụng rộng rãi trong các giao thức lưu trữ và truyền tải hiện đại như iSCSI, NVMe, Btrfs và SCTP.
Đa thức 0x1EDC6F41 (bình thường) / 0x82F63B78 (phản ánh)
Giá trị ban đầu 0xFFFFFFFF
Phản xạ đầu vào Có (RefIn = true)
Phản xạ đầu ra Có (RefOut = true)
XOR cuối cùng 0xFFFFFFFF
Kiểm tra giá trị 0xE3069283 (dành cho "123456789")
CRC-32 / MPEG-2 MPEG-2 · DVB · ATSC
Sử dụng đa thức 0x04C11DB7 giống như ISO-HDLC, nhưng cả đầu vào và đầu ra đều không phản ánh bit (MSB đầu tiên, big-endian). Giá trị ban đầu là 0xFFFFFFFF và XOR cuối cùng bị tắt (XorOut = 0x00000000).

Chủ yếu được sử dụng cho các bảng PSI/SI trong luồng truyền tải MPEG-2 (PAT, PMT, NIT và các bảng liên quan), cùng với việc kiểm tra tính toàn vẹn trong hệ thống phát sóng DVB và ATSC.
Đa thức 0x04C11DB7
Giá trị ban đầu 0xFFFFFFFF
Phản xạ đầu vào Không (RefIn = false)
Phản xạ đầu ra Không (RefOut = false)
XOR cuối cùng 0x00000000 (bị vô hiệu hóa)
Kiểm tra giá trị 0x0376E6E7 (dành cho "123456789")
CRC-32 / BZIP2 BZip2 · AAL5 · DECT
Các tham số của nó gần giống với MPEG-2 (đa thức 0x04C11DB7, không phản chiếu, giá trị ban đầu 0xFFFFFFFF). Sự khác biệt duy nhất là XOR cuối cùng với 0xFFFFFFFF , lật từng bit. Nó còn được gọi là CRC-32/AAL5 hoặc CRC-32/DECT-B.

Được sử dụng bởi định dạng tệp nén BZip2 và trường tổng kiểm tra đoạn giới thiệu của giao thức ATM AAL5.
Đa thức 0x04C11DB7
Giá trị ban đầu 0xFFFFFFFF
Phản xạ đầu vào Không (RefIn = false)
Phản xạ đầu ra Không (RefOut = false)
XOR cuối cùng 0xFFFFFFFF
Kiểm tra giá trị 0xFC891918 (dành cho "123456789")
// Hướng dẫn mã hóa đầu vào
Mã hóa đầu vào
Văn bản UTF-8 Mặc định · Chung
Xử lý đầu vào dưới dạng chuỗi UTF-8 , chuyển đổi nó thành byte rồi tính toán CRC32. Đây là chế độ phổ biến nhất cho văn bản thuần túy, mã nguồn, JSON và nội dung tương tự.

Lưu ý: cùng một văn bản được mã hóa bằng bộ ký tự khác, chẳng hạn như GBK hoặc UTF-16 sẽ tạo ra luồng byte khác và do đó có giá trị CRC32 khác. Công cụ này luôn sử dụng UTF-8.
Tốt nhất cho Văn bản thuần túy, mã nguồn, JSON, XML
Ví dụ "Xin chào" → 48 65 6C 6C 6F (5 byte)
Ký tự CJK Hầu hết các ký tự CJK sử dụng 3 byte trong UTF-8
thập lục phân Dữ liệu nhị phân · Khung giao thức
Xử lý đầu vào dưới dạng thô bằng chữ byte thập lục phân . Dấu cách và ngắt dòng được bỏ qua. Cứ hai ký tự hex sẽ trở thành một byte (00–FF).

Hữu ích khi bạn cần CRC kiểm tra dữ liệu nhị phân chính xác như khung mạng, đoạn hình ảnh chương trình cơ sở hoặc kết xuất bộ nhớ. Bạn có thể dán trực tiếp đầu ra kết xuất Wireshark hoặc hex.
Định dạng Chỉ cho phép 0-9 a-f / A-F được phép
Số lượng ký tự Phải chẵn (2 ký tự mỗi byte)
Ví dụ 48656C6C6F = "Xin chào" (5 byte)
Khoảng trắng Tự động bị bỏ qua. 48 65 6C giống với 48656C
cơ sở64 Nhị phân được mã hóa · Chứng chỉ · Hình ảnh
Xử lý đầu vào dưới dạng chuỗi được mã hóa Base64 , giải mã nó thành byte thô rồi tính toán CRC32. Hữu ích cho chứng chỉ PEM, tải trọng JWT, URI dữ liệu và nội dung Base64 khác.

Hỗ trợ bảng chữ cái Base64 tiêu chuẩn (A-Z a-z 0-9 + /). Ký tự đệm = là tùy chọn. Base64 an toàn cho URL ( - _ ) không được hỗ trợ.
Bảng chữ cái A-Z a-z 0-9 + / =
Ví dụ SGVsbG8= → "Xin chào" (5 byte)
URL an toàn Không được hỗ trợ. Thay thế -→+ _→/ trước
⚠ 1 Ký tự Không hợp lệ — 6 bit không đủ để tạo thành 1 byte (yêu cầu 8 bit)
2 ký tự Giải mã thành 1 byte (đầu vào hợp lệ tối thiểu)
3 ký tự Giải mã thành 2 byte
4 ký tự Giải mã thành 3 byte (mẫu lặp lại sau mỗi 4 ký tự)
// Hướng dẫn định dạng đầu ra
Định dạng đầu ra
thập lục phân Phổ biến nhất · Mặc định
Hiển thị giá trị dưới dạng số thập lục phân viết hoa gồm 8 chữ số có tiền tố 0x . Mỗi ký tự đại diện cho 4 bit, tổng cộng là 32 bit. Đây là định dạng chuẩn được sử dụng trong hầu hết các công cụ, mã nguồn và tài liệu.

So với đầu ra thập phân, hệ thập lục phân giúp kiểm tra ranh giới byte dễ dàng hơn và khớp với các kết xuất bộ nhớ cũng như các trường giao thức một cách tự nhiên hơn.
Ví dụ 0xCBF43926
Độ dài 8 ký tự thập lục phân = 32 bit
Căn cứ Căn cứ 16 (0-9, A-F)
Tốt nhất cho Mã, tài liệu, Wireshark, trình soạn thảo hex
thập phân Số nguyên 32-bit không dấu
Hiển thị tổng kiểm tra dưới dạng số nguyên thập phân 32 bit không dấu trong phạm vi 0–4,294,967,295 (2³²−1). Một số ngôn ngữ và công cụ so sánh các giá trị CRC ở dạng thập phân và các trường cơ sở dữ liệu thường lưu trữ cách biểu diễn này.

Lưu ý: Kết quả CRC32 phải được coi là số nguyên không dấu. Trong các kiểu int có dấu như Java hoặc C#, các giá trị trên 0x7FFFFFFF có thể xuất hiện âm và phải được chuyển đổi thành uint hoặc dạng biểu diễn không dấu rộng hơn.
Ví dụ 3421780262
Phạm vi 0–4.294.967.295
Lưu ý Đối với Java int, hãy chuyển đổi bằng & 0xFFFFFFFFL
Tốt nhất cho Cơ sở dữ liệu, giá trị cấu trúc Python, so sánh số
nhị phân Phân tích cấp độ bit
Hiển thị tổng kiểm tra dưới dạng chuỗi nhị phân 32 bit có tiền tố 0b . Mỗi ký tự là 0 hoặc 1, được căn chỉnh bằng bit quan trọng nhất ở bên trái và được đệm bằng các số 0 đứng đầu khi cần thiết.

Chủ yếu hữu ích để hiểu thuật toán CRC nội bộ, nghiên cứu phép chia đa thức, giảng dạy và các kịch bản nhúng cần xử lý tổng kiểm tra ở cấp độ bit.
Ví dụ 0b11001011…00100110
Độ dài Đã sửa ở 32 bit với phần đệm 0 bên trái
Bit cao nhất Bit 31 (MSB) xuất hiện ở ngoài cùng bên trái
Tốt nhất cho Phân tích thuật toán, giảng dạy, gỡ lỗi nhúng
bát phân Unix · Hệ thống tệp
Hiển thị tổng kiểm tra dưới dạng số bát phân gồm 11 chữ số có tiền tố 0o . Cần nhiều nhất 11 ký tự bát phân cho 32 bit vì 3×11 = 33 > 32. Mỗi chữ số bát phân đại diện cho 3 bit.

Đầu ra bát phân không phổ biến trong quy trình làm việc CRC hiện đại, nhưng nó vẫn xuất hiện trong một số công cụ Unix, chuỗi công cụ chương trình cơ sở nhúng và thông số kỹ thuật giao thức truyền thông cũ hơn.
Ví dụ 0o31572031046
Độ dài Tối đa 11 chữ số bát phân
Mỗi chữ số Biểu thị 3 bit (0-7)
Tốt nhất cho Các công cụ Unix, thông số giao thức cũ hơn