CRC32 檢查碼

範例
0字元數
0位元組
0x04C11DB7多項式
0xFFFFFFFF初值 Init
—HEX
—十進位
—二進位
—Base64

CRC32 計算機

這是 CRC32 計算機:給位元組做錯誤偵測校驗和,不是密碼雜湊。 CRC 是對位元組做錯誤偵測的校驗和,不是密碼雜湊。本頁預設 IEEE CRC-32(乙太網、ZIP、PNG、gzip:多項式 0x04C11DB7,反射,初值與 xorout 為 0xFFFFFFFF)。識別碼 CRC-32、CRC-32C、MPEG-2、BZIP2、JamCRC、IEEE、UTF-8、Hex、Base64、PNG、ZIP 不翻譯。顯示範例把 ASCII 123456789 算成 CBF43926(標準 check value)。同一字串的 CRC-32C 是 E3069283。

如何使用

  1. 貼上文字、hex、Base64 或 8 位二進位,或拖入檔案(最大 10 MB)。自動轉換預設開啟。
  2. 輸入文字走字元編碼(預設 UTF-8,另有 GBK、Big5、Shift_JIS 等,與 Base64 工具同一清單)。Hex 校驗的是你輸入的位元組,不是那些字母。Base64 與二進位會先解成位元組。
  3. 演算法:CRC-32(IEEE)、CRC-32C(Castagnoli / iSCSI)、MPEG-2、BZIP2 或 JamCRC(IEEE 去掉最終 XOR)。
  4. 輸出 HEX / Hex / 十進位 / 二進位 / Base64。結果下方卡片始終顯示四種。核對可比較 CBF43926 這類期望值。
  5. 晶片:123456789、JSON {"status":"ok","code":200} → 7CE63E7D、hex 010203040506 → 81F67724(十進位 2180413220)、以及 CRC-32C。

輸入編碼

CRC32 算的是位元組。同一段字在 GBK 與 UTF-8 下校驗和不同。Hex 010203040506 是六個位元組 01 02 03 04 05 06,不是這些數字的 ASCII。二進位輸入按每 8 個 0/1。檔案按原始位元組計算;在輸入框打字會清掉檔案。

變體(CRC-32 族)

這些都是 32 位。CRC-32(IEEE)是 ZIP/PNG/乙太網的預設。CRC-32C 用多項式 0x1EDC6F41(儲存、SCTP、SSE4.2)。MPEG-2 與 BZIP2 用 IEEE 多項式但不反射,xorout 不同。JamCRC 是沒有 xorout 的 IEEE,所以同一位元組的 hex 是 IEEE 的按位取反(123456789 為 340BC6D9 對 CBF43926)。卡片顯示所選變體的多項式和 Init。

輸出含義

HEX 是 8 位大寫十六進位(32 位)。十進位是無符號 32 位整數。二進位是 32 位按 8 位分組。Base64 編碼四個大端位元組。CRC32 不是加密,也不是 HMAC。碰撞很容易;用來發現意外損壞,不防攻擊者。

常見問題

  • 哪種多項式? IEEE / ZIP / PNG 是 0x04C11DB7(反射表 0xEDB88320)。CRC-32C 是 0x1EDC6F41。
  • 和雜湊工具一樣嗎? 雜湊工具的 CRC32 只有 IEEE。本頁增加 CRC-32C、MPEG-2、BZIP2、JamCRC、Base64/二進位輸入、檔案拖放和核對。
  • HMAC? 這裡不能把 CRC 當 HMAC。請開啟 HMAC 產生器。
  • 會上傳嗎? 不會。計算在瀏覽器裡完成。

相關工具

MD5/SHA:MD5 與 SHA 雜湊。帶金鑰摘要:HMAC 產生器。位元組檢視:Hex Dump。

需要 MD5 或 SHA? 開啟雜湊產生器 →