Adler-32ハッシュジェネレーター

Adler-32チェックサムを生成 — 高速・軽量

共有:

Adler-32ハッシュジェネレーター

エラー検出のための超高速チェックサム関数

Adler-32は、1995年にMark Adlerによって設計されたチェックサム関数です。32ビットハッシュ(16進数8文字)を生成します。zlib圧縮ライブラリやrsyncプロトコルで広く使用され、CRC-32より大幅に高速になるよう設計されています。

Adler-32とは?

Adler-32は2つの合計を使用:A(全バイトの合計+1)とB(全A値の累積合計)。両方とも素数65521で剰余演算されます。最終ハッシュ:B × 65536 + A。

✅ Adler-32の利点

  • 超高速: ソフトウェアでCRC-32より大幅に高速
  • 低消費: 最小限のCPUとメモリ使用量
  • 簡単な実装: わずか数行のコードで実装可能
  • 実績のある本番利用: zlibで数十億のストリームを処理

📊 一般的な用途

  • zlib圧縮: ストリーム整合性検証
  • rsyncプロトコル: 高速ファイル変更検出
  • ネットワークチェック: 軽量パケット検証
  • データ転送: ストリームエラー検出

⚠️ セキュリティに関する注意

Adler-32は暗号学的ハッシュ関数ではありません。 エラー検出用のチェックサムであり、セキュリティ用ではありません。暗号学的な用途にはSHA-256を使用してください。

🔄 Adler-32の比較

🔵

Adler-32

32ビット、非暗号学的

最速、最小限の検出

🟢

CRC-32

32ビット、多項式

より遅いが検出力が高い

🟡

MD5

128ビット、暗号学的

はるかに高いセキュリティ

❓ よくある質問

Adler-32とCRC-32の違いは?

Adler-32は計算が速いですが、CRC-32より検出できるエラーの種類が少ないです。CRC-32はより多くのエラーパターンを捕捉する多項式除算を使用します。

Adler-32をセキュリティに使えますか?

いいえ。Adler-32はチェックサムであり、暗号学的ハッシュ関数ではありません。衝突は容易に生成できます。

zlibがCRC-32の代わりにAdler-32を使うのはなぜ?

zlibは速度を優先しています。圧縮データには通常、上位レベルのチェックがあります。