English 简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// チェックサム ユーティリティ
CRC 32 チェックサム ツール
クライアント側のみ
データは送信されません
🔵 すべての計算は ブラウザ でローカルに実行されます。データはどのサーバーにもアップロードされません。 CRC-32/ISO-HDLC、CRC-32C、CRC-32/MPEG-2、および CRC-32/BZIP2 の各バリアントをサポートします。
演算設定
CRC バリアント ↗
入力エンコーディング ↗
出力フォーマット ↗
入力データ
ここにファイルをドロップ
準備完了 - データを入力し、[CRC32 を計算] をクリックします
計算結果
ISO-HDLC
カスタニョーリ
MPEG-2
BZIP2
チェックサム検証
予想される CRC32 値を貼り付けて、現在の計算と比較します。
を確認してください
入力バイト
0
合計計算
0
現在のバリアント
ISO-HDLC
経過時間 (ミリ秒)
// CRC32 バリアント ガイド
CRC バリアント
CRC-32 / ISO-HDLC PKZip · PNG · イーサネット
最も一般的な CRC-32 実装。CRC-32b とも呼ばれます。多項式 0x04C11DB7 の反映形式、つまり 0xEDB88320 を使用します。入力バイトと出力は両方ともビット反映され (LSB ファースト)、初期値と最終 XOR は両方とも 0xFFFFFFFF に設定されます。

ZIP、gzip、PNG イメージ、イーサネット フレーム (IEEE 802.3)、PKCS#7、および多くのレガシー システムで広く使用されています。これは事実上の「デフォルト CRC-32」の亜種です。
多項式 0x04C11DB7 (通常) / 0xEDB88320 (反射)
初期値 0xFFFFFFFF
入力反射 はい (RefIn = true)
出力反射 はい (RefOut = true)
最終 XOR 0xFFFFFFFF
値のチェック 0xCBF43926 (「123456789」の場合)
CRC-32C / カスタニョーリ iSCSI・NVMe・SCTP
1993 年に G. Castagnoli らによって提案されたこのバリアントは、多項式 0x1EDC6F41 (反映形式 0x82F63B78) を使用します。同じハミング距離では、ISO-HDLC 多項式よりも強力なバースト エラー検出が可能です。

ハードウェア アクセラレーションは、Intel SSE4.2 および ARM CRC32 命令を通じて利用できます。これは、iSCSI、NVMe、Btrfs、SCTP などの最新のストレージおよびトランスポート プロトコルで広く使用されています。
多項式 0x1EDC6F41 (通常) / 0x82F63B78 (反射)
初期値 0xFFFFFFFF
入力反射 はい (RefIn = true)
出力反射 はい (RefOut = true)
最終 XOR 0xFFFFFFFF
チェック値 0xE3069283 (「123456789」の場合)
CRC-32 / MPEG-2 MPEG-2・DVB・ATSC
ISO-HDLC と同じ 0x04C11DB7 多項式を使用しますが、入力も出力も ビット反映 (MSB ファースト、ビッグエンディアン) ではありません。初期値は 0xFFFFFFFF で、最終的な XOR は無効になります (XorOut = 0x00000000)。

主に MPEG-2 トランスポート ストリームの PSI/SI テーブル (PAT、PMT、NIT、および関連テーブル) に加えて、DVB および ATSC ブロードキャスト システムの整合性チェックに使用されます。
多項式 0x04C11DB7
初期値 0xFFFFFFFF
入力反射 いいえ (RefIn = false)
出力反射 いいえ (RefOut = false)
最終 XOR 0x00000000 (無効)
チェック値 0x0376E6E7 (「123456789」の場合)
CRC-32 / BZIP2 BZip2 · AAL5 · DECT
パラメータは MPEG-2 とほぼ同じです (多項式 0x04C11DB7、反射なし、初期値 0xFFFFFFFF)。唯一の違いは、 と 0xFFFFFFFF との最終 XOR であり、すべてのビットが反転されます。 CRC-32/AAL5 または CRC-32/DECT-B とも呼ばれます。

BZip2 圧縮ファイル形式と ATM AAL5 プロトコルのトレーラー チェックサム フィールドで使用されます。
多項式 0x04C11DB7
初期値 0xFFFFFFFF
入力反射 いいえ (RefIn = false)
出力反射 いいえ (RefOut = false)
最終 XOR 0xFFFFFFFF
値の確認 0xFC891918 (「123456789」の場合)
// 入力エンコーディングガイド
入力エンコーディング
UTF-8 テキスト デフォルト · 一般
入力を UTF-8 文字列として処理し、バイトに変換して、CRC32 を計算します。これは、プレーン テキスト、ソース コード、JSON、および同様のコンテンツに最も一般的なモードです。

注: 同じテキストを GBK や UTF-16 などの異なる文字セットでエンコードすると、異なるバイト ストリームが生成されるため、異なる CRC32 値が生成されます。このツールは常に UTF-8 を使用します。
に最適 プレーン テキスト、ソース コード、JSON、XML
「こんにちは」 → 48 65 6C 6C 6F (5バイト)
CJK 文字 ほとんどの CJK 文字は UTF-8 で 3 バイトを使用します
16進数 バイナリデータ・プロトコルフレーム
入力を生の 16 進バイト リテラル として扱います。スペースと改行は無視されます。 2 つの 16 進文字ごとに 1 バイト (00 ~ FF) になります。

ネットワーク フレーム、ファームウェア イメージ フラグメント、メモリ ダンプなどの正確なバイナリ データの CRC チェックが必要な場合に便利です。 Wireshark または 16 進ダンプ出力を直接貼り付けることができます。
形式 0-9 および a-f / A-F のみが許可されます
文字数 偶数である必要があります (1 バイトあたり 2 文字)
48656C6C6F = "Hello" (5 バイト)
空白 自動的に無視されます。 48 65 6C 48656C と同じです
Base64 エンコードされたバイナリ · 証明書 · 画像
入力を Base64 でエンコードされた文字列 として処理し、生のバイトにデコードして、CRC32 を計算します。 PEM 証明書、JWT ペイロード、データ URI、およびその他の Base64 コンテンツに役立ちます。

標準の Base64 アルファベット (A-Z a-z 0-9 + /) をサポートします。パディング文字 = はオプションです。 URL セーフな Base64 ( - _ ) はサポートされていません。
に置き換えます
アルファベット A-Z a-z 0-9 + / =
SGVsbG8= → "Hello" (5バイト)
URL セーフ サポートされていません。 -→+ _→/ を最初に
⚠ 1 文字 無効 — 6 ビットでは 1 バイトを形成できません (8 ビットが必要)
2 文字 にデコード 1 バイト (最小有効入力)
3 文字 2 バイトにデコード
4 文字 3 バイトにデコード (パターンは 4 文字ごとに繰り返されます)
// 出力フォーマットガイド
出力フォーマット
16進数 最も一般的な · デフォルト
値を、先頭に 0x を付けた 8 桁の大文字 16 進数として表示します。各文字は 4 ビット、合計 32 ビットを表します。これは、ほとんどのツール、ソース コード、ドキュメントで使用される標準形式です。

10 進数の出力と比較して、16 進数ではバイト境界の検査が容易になり、メモリ ダンプとプロトコル フィールドがより自然に一致します。
に最適
0xCBF43926
長さ 8 16 進文字 = 32 ビット
基数 基数 16 (0-9、A-F)
コード、ドキュメント、Wireshark、16 進エディタ
10進数 符号なし 32 ビット整数
チェックサムを 符号なし 32 ビット 10 進整数 として、範囲 0 ~ 4,294,967,295 (2³²-1) で表示します。一部の言語やツールでは CRC 値を 10 進数形式で比較し、多くの場合、データベース フィールドにこの表現が保存されます。

注: CRC32 の結果は符号なし整数として扱われる必要があります。 Java や C# などの signed int 型では、0x7FFFFFFF を超える値は負に見える場合があるため、uint またはより広範な符号なし表現に変換する必要があります。
3421780262
範囲 0–4,294,967,295
Java int の場合、 & 0xFFFFFFFFL で変換
に最適 データベース、Python 構造体の値、数値比較
バイナリ ビットレベル解析
チェックサムを 0b という接頭辞が付いた 32 ビットのバイナリ文字列として表示します。各文字は 0 または 1 で、左側の最上位ビットに揃えられ、必要に応じて先頭にゼロが埋め込まれます。

主に、内部 CRC アルゴリズムの理解、多項式除算、ティーチング、ビットレベルのチェックサム処理を必要とする組み込みシナリオの研究に役立ちます。
0b11001011…00100110
長さ 左ゼロパディング付きの 32 ビットに固定
最上位ビット ビット 31 (MSB) は左端に表示されます
最適な用途 アルゴリズム解析、ティーチング、組み込みデバッグ
8進数 Unix · ファイル システム
チェックサムを 0o の接頭辞が付いた 11 桁の 8 進数として表示します。 3×11 = 33 > 32 であるため、32 ビットには最大 11 個の 8 進数文字が必要です。各 8 進数の数字は 3 ビットを表します。

8 進出力は、最新の CRC ワークフローでは一般的ではありませんが、一部の Unix ツール、組み込みファームウェア ツールチェーン、および古い通信プロトコル仕様では依然として使用されています。
0o31572031046
長さ 最大 11 桁の 8 進数
1 桁あたり 3 ビット (0 ~ 7) を表します
に最適 Unix ツール、古いプロトコル仕様