AZ Tools

CRC-32 計算機 (CRC-32 & CRC-32C)

開発

CRC-32 は 32 ビットの巡回冗長検査で、zip・gzip アーカイブ、PNG チャンク、イーサネットフレームなど多くのファイル形式で偶発的な破損を検出する高速な非暗号チェックサムです。本計算機は標準の反射・テーブル駆動アルゴリズム(初期値 0xFFFFFFFF、最終 XOR 0xFFFFFFFF)を実装し、よく知られたテストベクトル CRC-32("123456789") = 0xCBF43926 に一致します。iSCSI・SCTP・ext4 メタデータ・Intel SSE4.2 CRC 命令で使われる CRC-32C(Castagnoli、多項式 0x1EDC6F41)も提供し、"123456789" のベクトルは 0xE3069283 です。UTF-8 テキストまたは生の hex バイトを入力すると、小文字 hex・大文字 hex・符号なし 32 ビット 10 進数で結果を表示します。公開された CRC とダウンロードの照合、自分でハッシュするデータの確認、チェックサム不一致のデバッグに使えます。すべてローカルで動作し、アップロードされません。注意:CRC-32 は偶発的エラーのみを検出し、セキュリティハッシュではないため、信頼できない・敵対的なデータの検証には決して使わないでください。

CRC-32 は偶発的破損を検出し、改ざん防止ではありません。セキュリティには暗号ハッシュ(SHA-256)を。

使い方

  1. バリアントを選択(CRC-32 が一般的、iSCSI/ext4/SSE4.2 には CRC-32C)。
  2. 入力が UTF-8 テキストか hex バイトかを選択。
  3. 入力・貼り付けて hex または 10 進数の結果をコピー。

よくある質問

これはどの CRC-32 ですか?
デフォルトは標準の CRC-32/ISO-HDLC(IEEE 802.3、zlib の crc32 とも)— 入出力反射、初期値 0xFFFFFFFF、最終 XOR 0xFFFFFFFF、多項式 0x04C11DB7(反射形 0xEDB88320)です。zip・gzip・PNG が使うもので、CRC-32("123456789") = 0xCBF43926 に一致します。
CRC-32C は何に使いますか?
CRC-32C は Castagnoli 多項式(0x1EDC6F41)を使い、エラー検出特性が優れています。iSCSI・SCTP・Btrfs/ext4 メタデータで使われ、Intel SSE4.2 CRC32 命令でハードウェア加速されます。"123456789" のベクトルは 0xE3069283 です。一方のバリアントで計算した CRC はもう一方と一致しません。
バイナリデータもチェックサムできますか?
はい — 入力形式を Hex に切り替えてバイトを貼り付けます(例:0xDEADBEEF や 'de ad be ef')。UTF-8 テキストも受け付け、バイトにエンコードしてからチェックサムします。hex モードでは空白と任意の 0x 接頭辞は無視されます。
CRC-32 は安全ですか?
いいえ。CRC-32 はランダムな伝送・保存エラーを捕捉するためのもので、意図的な改ざんは防げません — 同じ CRC を持つ別の入力を作るのは簡単です。敵対者に対する完全性には SHA-256 のような暗号ハッシュを使ってください。

関連ツール