CRC-32 計算

CRC-32 計算

在本地對 UTF-8 文字計算 CRC-32 (IEEE) 校驗值

瀏覽器本地計算

輸入文本會自動輸出兩種進制的校驗值;這裡按 UTF-8 文本計算,輸入“41”不會自動當作十六進制字節。

 
十六進制
十進制

範例

輸入

123456789

示例結果

十六進制:cbf43926
無符號十進制:3421780262

這是常用的 CRC 檢查輸入,末尾無換行。

技術細節與邊界

實現使用反射多項式 0xEDB88320,初始值與最終異或均為 0xFFFFFFFF,對應常見 CRC-32/ISO-HDLC。CRC-32C 等變體參數不同,不能互換。計算前用 UTF-8 將文本變為字節,末尾換行會改變校驗值。

關於此工具

計算 UTF-8 文本的 CRC-32 校驗值,輸出十六進制與無符號十進制。適合檢查傳輸差錯和核對代碼實現;CRC 用於檢錯,不用於鑒別惡意篡改。

適用場景

  • 快速核對文字內容是否與舊版本一致。
  • 作為輕量 hash key(例如快取分桶)。

操作步驟

  1. 把文字貼進輸入框。
  2. 結果即時顯示十進位、十六進位。

注意事項

CRC-32 不是密碼學雜湊;不要用它做防篡改校驗。

常見問題

和 Linux `crc32` 命令一致嗎?
一致(使用相同 IEEE 多項式)。差異一般出自輸入編碼或行尾差異。
兩個文件 CRC 相同就說明完全一致嗎?
不能。32 位空間存在碰撞,CRC 也不是抗惡意修改的密碼學函數。需要更可靠的內容核對時使用適合場景的摘要及可信來源。
為甚麼 CRC-32C 結果不同?
CRC-32C 使用另一種生成多項式。核對校驗值時必須確認多項式、初始值、反射與最終異或參數。
輸入 41 與輸入字母 A 的校驗值為何不同?
本工具沒有十六進制字節輸入模式。41 會按兩個文本字符編碼,而 A 是一個字節值為十六進制 41 的字符,因此處理的原始字節不同。

相關工具

CRC-32 計算 · 在本地對 UTF-8 文字計算 CRC-32 (IEEE) 校驗值
CRC-32 計算 — 工具示意圖 · dayeku.com