CRC ファイルチェックサム計算ツール
ファイルの CRC-32、CRC-32C、CRC-16、CRC-8、CRC-64 チェックサムをブラウザー内で計算し、期待値と照合します。アップロード不要で、大きなファイルにも対応。
ファイルがまだ選択されていません。ファイルを選ぶとすぐにチェックサムが表示されます。
ファイルはブラウザー内で分割して読み込まれ、アップロードされることはありません。
CRC ファイルチェックサムとは?
このツールは、ファイルの CRC チェックサム(CRC-32(zip、PNG、Ethernet)、CRC-32C(iSCSI、ext4、SCTP)、CRC-32/BZIP2、CRC-32/MPEG-2、CRC-16/ARC、CRC-16/MODBUS、CRC-16/CCITT-FALSE、CRC-16/XMODEM、CRC-16/KERMIT、CRC-8/SMBUS、CRC-8/MAXIM、CRC-64/XZ)を1回の読み込みで計算し、選んだ種類を期待値と照合します。ファイルは4 MB ずつローカルで読み込まれ、アップロードされることはありません。
CRC ファイルチェックサムの使い方
- 照合したい CRC の種類 を選びます(初期値は CRC-32)。
- ドロップゾーンをクリックするか、ファイルをドラッグ&ドロップします。ファイルは分割して読み込まれ、進捗バーが表示されます。
- 下に表示される ファイル名 と ファイルサイズ を見て、正しいファイルを選んだか確認します。
- 期待されるチェックサム(任意) に期待する CRC(16進または10進)を貼り付けると、一致 または 不一致 が表示されます。すべての種類は下の表に一覧されます。
例
A file hash-check.txt containing the 9 bytes "123456789"
cbf43926
ファイルの CRC-32 です。期待されるチェックサムに 3421780262(10進)または CBF43926 を入力すると、一致と表示されます。
CRC ファイルチェックサムを使うべき場面
ZIP アーカイブ、SFV ファイル、ファームウェアのマニフェストに記載されたファイルの CRC-32 を確認したり、組み込み機器の更新イメージ用に CRC を計算したりするときに使います。CRC が検出できるのは偶発的な破損だけです。ダウンロードが改ざんされていないかを確認するには、SHA-256 チェックサムを使ってください。
CRC ファイルチェックサムの仕組み
ファイルは4 MB ごとのスライスで読み込まれ、各スライスですべての CRC バリアントが同時に更新されるため、1回の読み込みで表全体が得られます。CRC は、データを巨大な2進多項式とみなし、固定の生成多項式で割った余り(mod 2)を求めます。各バリアントは、幅、多項式、初期値、入出力ビットを反転するかどうか、最後に掛ける XOR 値(Rocksoft モデル)で定義されます。このツールはバリアントごとに256エントリのルックアップテーブルを使い、すべてのバリアントをカタログ上のチェック値、つまり ASCII 文字列 123456789 の CRC と照合しています(例: CRC-32 = cbf43926、CRC-32C = e3069283、CRC-16/MODBUS = 4b37)。結果はビッグエンディアンの16進数、または10進数で表示されます。
一般的な使用例
- SFV(Simple File Verification)リストの CRC-32 とファイルを照合する
- ファームウェアイメージをマニフェストに記載された CRC と照合する
- ZIP アーカイブがファイルに対して記録するはずの CRC-32 を調べる
- クラウドストレージの整合性チェック用に、BLOB の CRC-32C を計算する
セキュリティ注意事項
CRC では意図的な改ざんを検出できません。誰でもファイルを書き換えたうえで CRC を同じ値に保てます。セキュリティ上重要な検証には、SHA-256 や署名を使ってください。
よくある質問
ファイルはアップロードされますか?
いいえ。ブラウザーの File API で読み込み、端末内で分割して処理するため、大きなファイルでも端末の外に出ることなく扱えます。
CRC-32 が cksum コマンドの結果と違うのはなぜですか?
POSIX の cksum は反転しない別の CRC-32 を使い、ファイル長を付け足して計算します。ZIP、gzip、PNG、SFV ファイルは、ここで表示される CRC-32 を使っています。
期待する CRC を10進数で入力できますか?
はい。期待されるチェックサムには、16進数(大文字・小文字は問わず、0x は省略可)または10進数を入力できます。