CRCチェックサム計算機(CRC-8/16/32/64)
ガイド
CRCチェックサム計算機
テキストまたはファイルの入力に対して、CRC-8、CRC-16、CRC-32、CRC-64ファミリの15の標準化されたバリエーションから選択して、サイクルリダンダントチェック(CRC)値を瞬時に計算できます。ダウンロードの検証、シリアルプロトコルフレームの検証、またはファイルの整合性を確認するためには、ファイルをアップロードする必要はありません。すべての計算はブラウザ上でローカルに実行されます。
使用方法
- 入力エリアにテキストをタイプまたは貼り付けます。 または ファイルをアップローダーにドラッグアンドドロップします。
- ドロップダウンからCRCバリエーションを選択します。デフォルトでCRC-32 (IEEE 802.3)が選択されています — Ethernet、ZIP、PNGで使用される同じアルゴリズムです。
- 比較対象に合わせて、HEX、十進数、バイナリ出力フォーマットを切り替えます。
- オプションとして、期待値チェックサムを 検証 フィールドに貼り付けます。HEX(
0xCBF43926)、十進数、またはバイナリ値はすべて受け入れられ、空白やコロンは無視されます。 - 入力またはオプションを調整するたびに、チェックサムがリアルタイムで更新されます。
機能
- 15のCRCバリエーション – CRC-8、CRC-8/ITU、CRC-8/MAXIM、CRC-8/ROHC、CRC-16/CCITT-FALSE、CRC-16/XMODEM、CRC-16/IBM (ARC)、CRC-16/MODBUS、CRC-16/USB、CRC-32 (IEEE/Ethernet/ZIP)、CRC-32/BZIP2、CRC-32C (Castagnoli)、CRC-32/MPEG-2、CRC-64/ECMA-182、およびCRC-64/ISO。
- テキストまたはファイル入力 – ストリームを直接貼り付けまたは、どんなタイプのファイルでもドロップできます;計算機はディスク上での実際のバイトを正確に読み取ります。
- リアルタイム出力 – テキストを入力すると、HEX、十進数、バイナリ表現がリアルタイムで更新され、各フォーマットに個別に切り替えが可能です。
- 期待値検証 – 参考チェックサムを貼り付けて、ファイルまたはペイロードが既知の良好な値と一致していることを確認できます。
- 柔軟なパース – 期待値は
0x,0b、または原始数字を受容し、空白、コロン、アンダースコアを許容します。 - クライアントサイドのみ – サーバーにアップロードされないため、センシティブまたはプロプライエタリなファイルのチェックサムを安全に実行できます。
よくある質問
-
CRCとは何か、そしてそれは暗号ハッシュとどのように異なりますか?
サイクルリダンダントチェック(CRC)は、入力メッセージを大きな二進多項式と見なし、固定された生成多項式で割り算し、余りをチェックサムとして扱います。CRCは送信または保存中の誤り(ビットの反転、バイトの欠落、または並び替え)を検出するため設計されており、非常に効率的です。暗号ハッシュ(例:SHA-256)は別の問題を解決しています — それは衝突耐性を持ち、悪意ある改ざんを防ぐために設計されています。CRCは高速で数学的に予測可能ですが、簡単に偽造できるため、セキュリティ用途には絶対に使用すべきではありません。
-
なぜCRC-16とCRC-32に多くのバリエーションがあるのですか?
異なる規格団体やベンダーは、誤り検出のニーズに応じて、生成多項式、初期レジスタ値、ビット反射設定、最終XOR値をそれぞれ選択しました。Ethernet、ZIP、PNGはすべてCRC-32 (IEEE 802.3)を採用し、MODBUS、USB、XMODEMなどの工業プロトコルはそれぞれのCRC-16バリエーションを標準化しました。同じビット幅を持つ2つのバリエーションが、どのパラメータも異なる場合、まったく異なるチェックサムを生成します。そのため、ターゲットシステムに適合する正確なバリエーションを選ぶことが不可欠です。
-
CRC仕様における「反射入力と出力」とは何か?
反射(あるいは逆転)バリエーションは、各バイトの最下位ビットから処理し、最終レジスタをビットごとに鏡像化した後、出力XORを適用します。非反射バリエーションはビットを最高位順に処理します。この選択は、ハードウェア設計において、レジスタを一方方向にシフトする方が他方よりも安いという歴史的背景から来ています。同じ多項式を持つ2つのCRCでは、反射設定が異なる場合、互いに不適合です — CRC-32とCRC-32/BZIP2は同じ0x04C11DB7多項式を使用していますが、まったく異なる値を生成します。
-
CRC-32Cは標準CRC-32とどのように異なり、どのような場合に使われますか?
CRC-32Cは1993年にGuy Castagnoliが発表したもので、多項式0x1EDC6F41を使用し、0x04C11DB7とは異なります。短いペイロードに対して、誤り検出性能が数学的に優れており、現代のx86プロセッサでは1つのCRC32命令で実行されます。iSCSI、SCTP、ext4メタデータ、Btrfs、GoogleのgRPCフレームレイヤーで使用されています。高いパフォーマンスと強力な誤り検出が求められる場合、システムは標準的なEthernet CRCよりもCRC-32Cを好む傾向があります。
-
CRCはすべての誤りを検出できるのでしょうか?その限界はどこですか?
どの誤り検出コードもすべてを検出できません。nビットのCRCは、長さnビット以下のバースト誤りおよびすべての1ビット誤りを検出しますが、約1/2^nのランダムな破損は検出されません。CRC-32では約1/43億の確率で通過します — 普通のファイルやフレームの整合性に非常に優れています。非常に大きなファイルや長距離ストレージの場合、CRC-64はその境界を約1/1.8×10^19まで延長します。悪意ある改ざんについては、攻撃者は常にメッセージを調整して、CRCが選択された値と一致するようにできます。そのため、チェックサムは認証のためのデジタル署名を置き換えることは絶対にできません。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
