CoderTools

Adler-32チェックサム計算機

テキストとファイルのAdler-32チェックサムを計算、zlib/gzip圧縮で使用される高速チェックサム

プレーンテキストを入力(UTF-8エンコード)

Adler-32について

Adler-32は1995年にMark Adlerが発明したチェックサムアルゴリズムです。zlibライブラリで使用され、広く使われているgzipファイル形式の一部です。Adler-32はCRC-32より高速でありながら、妥当なエラー検出能力を維持するように設計されました。

このアルゴリズムは32ビットのチェックサム(4バイト)を生成し、特に短い入力に対して効率的です。作成者の名前にちなんで名付けられ、彼はgzipとzlibの共同作者でもあります。

アルゴリズム

Adler-32は65521(2^16未満の最大の素数)を法とする2つの累計を維持します。チェックサムは以下のように計算されます:

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

特性

一般的な用途

Input: "Hello, World!"

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

Input: "" (empty string)

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

Adler-32 vs CRC-32

特性 Adler-32 CRC-32
速度 高速 低速
エラー検出 良好 優れている
一般的な用途 zlib, PNG, gzip Ethernet, ZIP, PNG

参考資料