CRC-32ハッシュジェネレーター
データ整合性のための標準巡回冗長検査
CRC-32は世界で最も使用されている非暗号学的チェックサム関数です。多項式除算により32ビットハッシュ(16進数8文字)を生成します。CRC-32はあらゆる場所にあります:ZIPやPNG形式、Ethernetネットワーク、USBプロトコル、ファイルシステム。
CRC-32とは?
CRC-32は入力データを巨大な多項式として扱い、固定された生成多項式で割った余りを計算します。
✅ 利点
- • ハードウェア高速化: Intel CRC32命令がメモリ速度で計算
- • 強力な検出: 全ての1ビット、2ビット、奇数ビットエラーを検出
- • ユニバーサル標準: Ethernet、USB、ZIP、PNG、MPEG-2
- • シンプルで高速: 高速計算のためのルックアップテーブル
📊 用途
- • アーカイブ: ZIPとgzipの整合性検証
- • ネットワーク: Ethernetフレーム検証
- • ストレージ: ファイルシステムの整合性
- • マルチメディア: PNGとMPEGファイルの整合性
⚠️ セキュリティに関する注意
CRC-32は暗号学的ハッシュ関数ではありません。 ランダムなエラーの検出用であり、意図的な改ざんからの保護用ではありません。
🔄 CRC-32の比較
🔵
CRC-32
32ビット、多項式
エラー検出、暗号ではない
🟢
Adler-32
32ビット、算術
より速いが検出力が弱い
🟡
MD5
128ビット、暗号学的
はるかに遅いが安全
❓ よくある質問
CRC-32とCRC-32Bの違いは?
異なる生成多項式を使用します。CRC-32BはPHPがデフォルトで計算するバリアントです。
CRC-32がセキュリティに使えないのはなぜ?
CRC-32は線形で可逆的です。攻撃者は容易に衝突を生成できます。
CRC-32は全てのエラーを検出しますか?
いいえ。CRC-32は全ての1ビットと2ビットエラーを検出しますが、一部のエラーパターンを見逃す可能性があります。