Adler-32
Adler-32 是 Mark Adler 设计的 32 位校验和,比 CRC32 计算更快但检错能力略弱,用于 zlib 压缩流校验。
用途
提供比 CRC32 更快的校验和,用于对性能敏感的压缩流完整性校验。
机制
A = 1 + Σd_i(mod 65521),B = Σ(1 + Σ_{j≤i} d_j)(mod 65521),输出 B<<16 | A。模 65521(小于 65536 的最大素数)确保良好分布。
用例
- zlib/gzip 流校验
- PNG IDAT 校验
- 实时压缩完整性
- 低开销校验场景
示例
- 输入
hello输出0x062c0215Slightly weaker than CRC32 but faster
常见错误
- Adler-32 error-detection degrades significantly on short inputs
- Use CRC32 for short data