跳至主要內容
Lizely

CRC32 迷你計算器

計算 32/ISO-HDLC 從 UTF-8 文字或明確的十六進位位元組,使用固定引數與八位數結果。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.請確認所需的 CRC 變體與位元組範圍;本頁實作 CRC-32/ISO-HDLC,校驗值為 cbf43926(對應 123456789)。
  2. 2.選擇 UTF-8 文字或十六進位位元組,輸入精確的資料載荷,並進行計算。
  3. 3.將所有八個位數與預期值對比,並複製結果;若存在惡意修改風險,應使用加密驗證。

關於CRC32 迷你計算器

CRC32 計算器計算用於 gzip、ZIP、PNG 和許多其他格式的 CRC-32/ISO-HDLC 檢查值。選擇 UTF-8 文字或十六進位位元組,輸入載荷,並獲得八位數的小寫十六進位結果。計算在瀏覽器端進行,輸入不會上傳,複製動作僅複製精確的 32 位值。

CRC 是一種迴圈冗餘檢查,設計用來偵測資料中常見的意外變更。此實現使用寬度 32、反向多項式 0xEDB88320、初始暫存器 0xFFFFFFFF、反向位元處理以及最終 XOR 0xFFFFFFFF。這些引數會產生 cbf43926 給 123456789 的 ASCII 位元組,這是用來區分此 CRC 種類與其他 32 位元公式的標準檢查值。

此演算法從反向多項式建立 256 入口表。對於每個輸入位元組,會將其與低暫存器八位元進行 XOR 運算,查詢對應的表餘數,並將其與右移八位元的暫存器結合。最後會對暫存器進行取反,並以前導零格式化。這與 RFC 1952 中的實際範例方法一致,而非依賴瀏覽器特定的數字格式化方式。

在文字模式下,字串會先以 UTF-8 編碼再進行計算。每個 ASCII 字元貢獻一個位元組,而許多帶有重音符號的字母、CJK 字元與表情符號則會貢獻多個位元組。若計算的是 UTF-16 編碼單位、舊式字元集、標準化文字或不同換行規則,結果將會不同。當協議明確指定位元組時,應使用十六進位模式,而非重新輸入為可見文字。

十六進位模式會移除位元組之間的空白,但其他要求為偶數個十六進位數字。每兩個數字轉為一個位元組。字首如 0x、分隔符(除空白外)、註解以及奇數尾數(nibble)將被拒絕。前導的 00 位元組會被保留並影響結果。請確認目標規範是否包含標頭、長度欄位、分隔符或儲存的校驗值欄位。

CRC-32 不是加密、加密雜湊、訊息驗證碼、數位簽章或來源證明。它具有線性特性且容易被故意操作。請勿用於驗證不受信的軟體、授權命令、保護憑證或確認檔案來自可信發布者。若需對抗性完整性,應使用加密雜湊與受驗證的分發通道。

不同系統會使用 CRC32、CRC-32C、Castagnoli、Koopman、MPEG-2、BZIP2 和 JAMCRC 等名稱來表示具有不同多項式或初始與最終轉換的公式。本頁僅實現 CRC-32/ISO-HDLC。若預期 123456789 的檢查值不是 cbf43926,則其他系統可能使用不同變體或不同位元組範圍。

輸入限制為最多 5,000,000 位元組,以確保表驅動處理仍能保持響應。輸出永遠不會靜默截斷,值視為無符號數,且永遠顯示八位數十六進位數字。空輸入的程式化值為 00000000,雖然介面要求提供資料,因此意外的空點選不會看起來像有意義的驗證。

提供八個外部測試字串,涵蓋空輸入、短訊息、常見訊息雜湊與字母組合、標準數值檢查,以及 quick-brown-fox 詞句。使用 Python zlib 跨驗證來處理多位元組 UTF-8 邊界。這些值證明瞭宣告的變體與位元組處理方式,而不僅僅顯示編碼器與解碼器之間的結果一致。

先確認正確的 CRC 變體與覆蓋的位元組序列,來自規範格式。僅當 UTF-8 確認為正確時才選擇文字;否則請貼上十六進位位元組。比較完整的八位數,包含前導零,若相符僅視為偶然錯誤一致性的證據,並非安全性的驗證。

方法與來源

會產生一個以 256 為輸入的表格,反射多項式為 0xEDB88320。暫存器從 0xFFFFFFFF 開始,每次處理最低位元組,並在處理完八個位元組後與 0xFFFFFFFF 做異或,再轉為八位數的十六進位格式。

常見問題

這是哪一種 CRC32 變體?
CRC-32/ISO-HDLC:反射多項式為 0xEDB88320,初始與終值異或為 0xFFFFFFFF,校驗值為 cbf43926。
為何不同工具的結果會出現文字差異?
可能因位元組編碼或換行標準化方式不同所致。本工具使用 UTF-8;若需精確的位元組序列,請切換至十六進位模式。
CRC32 是否能驗證安全下載?
不能。CRC32 可偵測偶然錯誤,但不具碰撞抗性或驗證性。建議使用公開的加密雜湊與可信通訊通道。

編碼與加密 使用指南

查看全部