チェックサム計算機
技術的な詳細
チェックサム計算機の仕組み
このツールでできること
チェックサム計算機は、データ整合性の検証のために非暗号学的チェックサムを計算し、CRC-16、CRC-24、CRC-32、Adler-32、Luhnアルゴリズムに対応しています。プレーンテキストと生の16進バイト入力の両方を受け付け、ネットワークプロトコル、ファイル形式、識別番号に対してチェックサムを検証できます。結果は、仕様書と比較しやすいように16進数と10進数で表示されます。
開発者によくある利用シーン
開発者は、ネットワークプロトコルのデバッグ(EthernetはCRC-32、PPPはCRC-16)、ZIPやPNGなどのアーカイブ形式でのファイル整合性検証、またはLuhn(クレジットカード、IMEI)による識別番号の検証にCRC計算機を使用します。組み込みエンジニアは、ファームウェアを書き込む前やシリアル通信フレームをテストする前に、CRC実装が期待される出力と一致することを確認するためにこのツールを使います。
データ形式、型、またはバリエーション
CRC-16(CCITT)は、XMODEM、Bluetooth、USBで使用される16ビットのチェックサムを生成します。CRC-32(ISO 3720)は、Ethernet、ZIP、PNGで使用される32ビット値を生成します。Adler-32は、zlibで使用されるCRC-32の高速な代替です。Luhn mod-10はCRCではなく、クレジットカード番号、ISINコード、IMEI番号の検証に使われるチェックディジットアルゴリズムです。16進入力モードでは、プロトコルレベルの検証のために生のバイト列を入力できます。
よくある落とし穴とエッジケース
CRCアルゴリズムには多くの多項式や初期化のバリアントがあり、CRC-16-CCITTはCRC-16-IBMとは異なります。したがって、プロトコルがどのバリアントを期待しているかを必ず確認してください。チェックサムは偶発的な破損は検出できますが、意図的な改ざんに対するセキュリティは一切提供しません。その目的には暗号学的ハッシュを使用してください。16進入力モードを使用する際は、バイトを区切りなしで入力するか、整合したフォーマットで入力してください。余分なニブルが入ると、それ以降のすべてのバイトがずれてしまいます。
コードではなくこのツールを使うべき場面
プロトコルフレームのデバッグ時の簡単なスポットチェック、Luhn による単一のクレジットカード番号の検証、または仕様に対する CRC 出力の比較には、このブラウザツールを使用してください。大量のファイル検証、CI パイプライン、組み込みファームウェアのビルドには、ストリームを処理でき、自動化ワークフローに統合できる言語ネイティブの CRC ライブラリ(Python の zlib.crc32、Node の Buffer ベースの crc パッケージ)を使用してください。