首页Adler-32在线计算

Adler-32在线计算

计算文本和文件的 Adler-32 校验和,广泛用于 zlib/gzip 压缩的快速校验算法

输入纯文本(UTF-8 编码)

关于 Adler-32

Adler-32 是由 Mark Adler 于 1995 年发明的校验和算法。它被用于 zlib 压缩库,也是广泛使用的 gzip 文件格式的一部分。Adler-32 的设计目标是比 CRC-32 更快,同时保持合理的错误检测能力。

该算法产生 32 位(4 字节)的校验和,对于短输入特别高效。它以其创建者的名字命名,Mark Adler 也是 gzip 和 zlib 压缩程序的联合作者。

算法原理

Adler-32 通过维护两个对 65521(小于 2^16 的最大素数)取模的累加和来工作。校验和计算如下:

A = 1 + D1 + D2 + ... + Dn (mod 65521)
B = (1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + ... + Dn) (mod 65521)
Adler-32 = (B << 16) | A

特性

  • 输出:32 位(4 字节,8 个十六进制字符)
  • 速度:比 CRC-32 更快,尤其是软件实现
  • 取模:使用素数 65521 以获得更好的分布
  • 初始值:A=1, B=0(空字符串产生校验和 1)

常见用途

  • zlib 库 - 数据压缩校验
  • gzip 文件格式 - 完整性验证
  • PNG 图像格式 - 块完整性
  • 需要速度优先于碰撞抵抗的快速数据验证

示例

Input: "Hello, World!"

Adler-32: 1f9e046a (Hex) / 530858090 (Decimal)

Input: "" (empty string)

Adler-32: 00000001 (Hex) / 1 (Decimal)

Adler-32 与 CRC-32 对比

特性Adler-32CRC-32
速度更快较慢
错误检测良好更好
常见用途zlib, PNG, gzipEthernet, ZIP, PNG

参考资料

数据默认在您的本地浏览器上处理,不会上传至服务器。如需上传会明确提示。

© 2026 See-Tool. 保留所有权利。 | 联系站长