省略されたモデル名を補う
ZIPでよく使うCRC-32にはISO-HDLCを選びます。CRC-32CとMPEG-2は別のモデルです。独自プロトコルの場合は多項式、初期値、RefIn、RefOut、XorOutを仕様書から確認してください。
Hash & Crypto Helpers
入力形式と正確なモデルを選んで計算します。結果には使用したパラメーターとバイト順が残ります。
計算すると結果が表示されます。空のテキストも計算できます。
テキストとファイルの内容はブラウザー内で処理します。
計算すると結果が表示されます。空のテキストも計算できます。
CRC計算機は、機器の応答とテストデータのチェック値が合わないときに役立ちます。CRC16という名前だけではモデルを特定できません。多項式が同じでも、初期値や反射の指定によって結果が変わります。
まず既知のメッセージで設定を確かめてから、実際のパケットを調べてください。画面上で同じ文字に見えても、文字コードや末尾の改行が違えば入力バイト列は一致しません。
このCRC計算機では、計算に使った全パラメーターを結果に添えます。ARCとMODBUSは多項式が同じでも初期値が異なります。数値だけを記録するより、再現に必要な条件を残せます。
ファイルの各ブロックを順番に同じ状態へ加算し、最後に結果を確定します。ブロックごとのCRCを後からXORする方式ではありません。読み込みの進行を確認し、途中で中止できます。
ZIPでよく使うCRC-32にはISO-HDLCを選びます。CRC-32CとMPEG-2は別のモデルです。独自プロトコルの場合は多項式、初期値、RefIn、RefOut、XorOutを仕様書から確認してください。
16進モードの31 32 33は3バイトですが、テキストでは空白も文字として処理されます。別の文字コードを検証する場合は変換済みのファイルか正確な16進バイト列を指定します。
123456789を使うと標準Checkを確認できます。MODBUSの数値4B37をリトルエンディアンで送ると37 4Bになります。期待値欄には4B37を入力し、編集後はCtrl/Cmd+Enterで再計算します。
CRC計算ツールにはARC、MODBUS、IBM-3740、XMODEM、ISO-HDLC、CRC-32C、MPEG-2とAdler-32を用意しています。カスタムモデルの幅は16または32ビットです。
RefInは入力バイト内のビットを、RefOutは最終レジスターのビットを反転します。結果を送信するときのバイト順とは別の指定なので、独立した項目で確認できます。
S1は1、S2は0から始まり、法65521で累積します。空の入力なら00000001です。CRC用の多項式や最終XORをAdlerに適用することはありません。
モデル、数値パラメーター、入力形式、バイト数、期待値と比較結果を保存できます。16進数、10進数、2進数と二種類のバイト順を併記し、元のテキストやファイル内容は含めません。
まず入力バイトを比較し、次に幅、多項式、初期値、両方の反射、最終XORをそろえてください。数値表示と逆順のバイト表示を比べていないかも確認します。末尾の改行一つでも結果が変わります。
ISO-HDLCの多項式は04C11DB7、CRC-32Cは1EDC6F41です。同じ32ビットでも互換ではありません。123456789の結果はそれぞれCBF43926、E3069283です。
CCITT-FALSEの正式モデル名はIBM-3740で、多項式1021、初期値FFFF、反射なしです。MODBUSは8005、FFFF、両方の反射ありです。XMODEMは1021、初期値0000であり、CCITT-FALSEとは異なります。
このCRC計算機は最大2 GiBのファイル1個をWorkerで分割処理します。全ファイルを一度にメモリーへ展開する必要はありません。端末によって所要時間は異なり、途中で中止できます。
CRCは通信や保存中の意図しない変化を検出するための計算です。SHA-256などの暗号ハッシュとは目的が異なり、改ざん耐性や認証機能はありません。チェック値の一致だけで送信者を信用することはできません。
解決しませんでしたか?