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。mod 65521(65536 未満の最大素数)で良好な分布を保証する。
ユースケース
- zlib/gzip ストリーム検証
- PNG IDAT チェックサム
- リアルタイム圧縮の完全性検証
- 低オーバーヘッドのチェックサム用途
例
- 入力
helloOutput0x062c0215Slightly weaker than CRC32 but faster
よくあるエラー
- Adler-32 error-detection degrades significantly on short inputs
- Use CRC32 for short data