Adler32校驗和計算機
計算任何文本字串的 Adler-32 校驗和,提供逐步計算追蹤、十六進制/十進制/二進制輸出格式,以及 A/B 組件分析。
adler32校驗和計算機
用於數據完整性驗證的快速校驗和計算。應用於 zlib、PNG 和 PDF 格式。
偵測到廣告封鎖,導致我們無法顯示廣告
MiniWebtool 依靠廣告收入免費提供服務。如果這個工具幫到你,歡迎升級 Premium(無廣告 + 更快),或將 MiniWebtool.com 加入允許清單後重新整理頁面。
- 或升級 Premium(無廣告)
- 允許 MiniWebtool.com 顯示廣告,然後重新載入
Adler32校驗和計算機
歡迎使用 adler32校驗和計算機,這是一個快速且高效的工具,用於計算文字字串的 Adler-32 校驗和。Adler-32 是一種廣泛應用於數據壓縮和完整性驗證的校驗和演算法,在計算速度與錯誤檢測能力之間提供了極佳的平衡。
什麼是 Adler-32?
Adler-32 是 Mark Adler 於 1995 年發明的一種校驗和演算法,作為 zlib 壓縮庫的一部分。它通過計算兩個 16 位累加和(通常稱為 A 和 B)並將其組合來生成一個 32 位的校驗和值。該演算法優先考慮速度而非 CRC 演算法的錯誤檢測強度,因此非常適合那些快速完整性檢查比檢測所有可能錯誤更重要的應用場景。
Adler-32 的運作原理
Adler-32 演算法維護兩個運行累加和:
- 累加和 A: 從 1 開始,累加所有位元組的和
- 累加和 B: 從 0 開始,累加所有中間 A 值的和
這兩個和都是對 65521 取模計算的,65521 是小於 216 的最大質數。最終的校驗和將 B 和 A 組合為:(B << 16) | A
65521 是小於 216 (65536) 的最大質數。使用質數模數可確保校驗和值的更好分佈,並降低不同輸入產生相同校驗和(即碰撞)的機率。
Adler-32 與 CRC-32 比較
| 特性 | Adler-32 | CRC-32 |
|---|---|---|
| 速度 | 更快(簡單算術) | 較慢(多項式除法) |
| 錯誤檢測 | 對隨機錯誤效果良好 | 對突發錯誤效果更好 |
| 輸出大小 | 32 位 | 32 位 |
| 主要用途 | zlib, PNG, PDF | 網路協議, 儲存 |
| 弱點 | 對短訊息檢測效果較差 | 更消耗 CPU |
常見應用
- zlib 壓縮: Adler-32 是 zlib 壓縮數據流中使用的完整性檢查演算法
- PNG 圖片: PNG 檔案使用 zlib 壓縮,其中包含 Adler-32 校驗和
- PDF 文檔: 許多 PDF 串流都經過 zlib 壓縮,並使用 Adler-32 驗證
- HTTP 壓縮: gzip/deflate 內容編碼使用 Adler-32
- 數據同步: rsync 使用 Adler-32 進行快速區塊比較
演算法步驟
- 初始化: 設定 A = 1 且 B = 0
- 處理每個字節: 對於數據中的每個字節 D:
- A = (A + D) mod 65521
- B = (B + A) mod 65521
- 組合: 校驗和 = (B × 65536) + A = (B << 16) | A
安全考量
重要提示: Adler-32 不是密碼學雜湊函數,絕不應效用於安全目的。它僅設計用於錯誤檢測,不用於:
- 密碼雜湊
- 數位簽章
- 數據身份驗證
- 防止惡意攻擊的篡改檢測
對於安全應用,請使用 SHA-256、SHA-3 或 BLAKE3 等密碼學雜湊函數。
常見問題解答
什麼是 Adler-32 校驗和?
Adler-32 是 Mark Adler 於 1995 年發明的一種校驗和演算法。它通過計算兩個對 65521 取模的 16 位累加和(A 和 B)來從輸入數據生成一個 32 位校驗和。它比 CRC-32 更快,但在檢測某些錯誤模式時可靠性稍低,是優先考慮速度時的理想選擇。
Adler-32 是如何計算的?
Adler-32 維護兩個累加和:A(初始為 1)和 B(初始為 0)。對於每個字節,A = (A + 字節) mod 65521,且 B = (B + A) mod 65521。最終校驗和為 (B << 16) | A,將兩個和組合成一個 32 位值。
Adler-32 有什麼用途?
Adler-32 主要用於 zlib 壓縮庫以及使用 zlib 的格式(如 PNG、PDF、HTTP 壓縮)。它用於速度比加密安全更重要的快速數據完整性驗證。
Adler-32 和 CRC-32 有什麼區別?
Adler-32 的計算速度更快,但錯誤檢測能力比 CRC-32 弱。Adler-32 使用簡單的加法運算,而 CRC-32 使用多項式除法。CRC-32 可以檢測更多錯誤模式,且更擅長檢測突發錯誤。當速度至關重要時,首選 Adler-32。
為什麼 Adler-32 使用 65521?
65521 是小於 216 (65536) 的最大質數。使用質數模數可確保校驗和值的更好分佈,並降低碰撞機率。16 位的限制允許 A 和 B 累加和分別符合 16 位,組合成 32 位結果。
額外資源
引用此內容、頁面或工具為:
"Adler32校驗和計算機" 於 https://MiniWebtool.com/zh-tw/adler32校驗和計算機/,來自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 團隊編寫。更新日期:2026年1月27日