CRC32 電卓
テキストデータのCRC32チェックサムを瞬時に計算します。
テキストを入力してください
CRC32とは?
CRC32(Cyclic Redundancy Check 32-bit)は、32ビット(4バイト)のハッシュ値を生成する強力なチェックサムアルゴリズムで、典型的には8文字の16進数として表現されます。 データ伝送および貯蔵システムの間違いの検出のために広く利用されています。
CRC32の仕組み
CRC32 は、finite フィールド (GF(2)) のポリノミアル 分割を使用して、チェックサムを生成します。 アルゴリズムは入力データをバイナリの多項式として扱い、あらかじめ定義された発電機の多項式で分割します。 CRC32 では、標準的な IEEE の多項式は 0x04C11DB7 (または逆の形で 0xEDB88320) です。
計算プロセスは、次の手順に従います。
- 入力データは多項の係数として扱われます。
- この多項式は x で多彩32(32ビットを付与する等)
- 結果は発電機の多項式によって分けられます。
- この分割(32ビット)の残りはCRC値です。
実装方法
CRC32 計算を実行する方法はいくつかあります。
- ビットバイビット方法:各ビットを個別に処理し、数学の定義をミラーリングします。
- テーブル駆動方式:プリコンプトされたルックアップテーブルを使用して、最も一般的な実装です。
- スライスバイ-8/16:複数のバイトを一度に処理する高度な技術により、パフォーマンスを向上させます。
CRC32 プロパティ
CRC32 には、エラー検出に適した重要なプロパティがいくつかあります。
- メッセージ内のすべての単一ビットエラーを検出できます。
- すべてのエラーをビット数で検出できます。
- 全長32ビット以下のバーストエラーを検知できます。
- 32ビット以上のバーストエラーを検知できます。
検証プロセス
CRC32 でデータの整合性を確認すると、2 つのアプローチが共通です。
- CRCs を比較して下さい:受信したデータのCRCを計算し、送信されたCRC値と比較します。
- ゼロ残り:元のデータにCRCを追加し、新しいCRCを計算します。 結果がゼロの場合、データが不正確な可能性があります。
CRC32の一般的な使用
CRC32は、エラー検出のための効率と信頼性のために、数多くの技術とプロトコルで広く実装されています。
-
ファイル形式の完全性:
ZIP、RAR、PNG、その他多くのファイル形式で使用して、ファイルが破損していないことを確認します。 これらのファイルを抽出または開口部するときは、CRC32値が再計算され、保存された値と比較されます。
-
ネットワークプロトコル:
イーサネット、HDLC、PPPおよび他の多くのネットワーク プロトコルで実装され、伝送エラーを検出します。 各パケットは通常、受信機が完全性を検証するために使用するCRC値を含みます。
-
貯蔵システム:
ディスクドライブ、SSD、およびRAIDシステムで適用され、データの完全性を検証します。 現代のストレージシステムは、多くの場合、各データブロックのCRC32値を計算し、潜在的なハードウェアエラーを検出します。
-
組み込みシステム:
ファームウェアとブートローダ検証でコードが破損していないことを確認します。 ソフトウェアの完全性が安全および信頼性に直接影響を及ぼすシステムのための重要な。
-
データ重複:
多くの場合、データの重複排除システムでクイックファーストパスチェックとして使用されますが、通常、より徹底的な比較が続きます。