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(例如快取分桶)。
操作步驟
- 把文字貼進輸入框。
- 結果即時顯示十進位、十六進位。
注意事項
CRC-32 不是密碼學雜湊;不要用它做防篡改校驗。
常見問題
- 和 Linux `crc32` 命令一致嗎?
- 一致(使用相同 IEEE 多項式)。差異一般出自輸入編碼或行尾差異。
- 兩個文件 CRC 相同就說明完全一致嗎?
- 不能。32 位空間存在碰撞,CRC 也不是抗惡意修改的密碼學函數。需要更可靠的內容核對時使用適合場景的摘要及可信來源。
- 為甚麼 CRC-32C 結果不同?
- CRC-32C 使用另一種生成多項式。核對校驗值時必須確認多項式、初始值、反射與最終異或參數。
- 輸入 41 與輸入字母 A 的校驗值為何不同?
- 本工具沒有十六進制字節輸入模式。41 會按兩個文本字符編碼,而 A 是一個字節值為十六進制 41 的字符,因此處理的原始字節不同。
相關工具