CRC32ジェネレーター
任意のテキストのCRC32チェックサムをすぐに計算します。入力をUTF-8としてエンコードし、ZIP、gzip、PNG、Ethernetで使われる標準のIEEE 802.3 CRC-32多項式を適用します。結果は8桁の16進数または符号なし10進数で返されます。保存済みチェックサムの確認、ファイル形式のデバッグ、zlib、PHP crc32などのライブラリとの結果比較に利用できます。
よくある質問
CRC32とは何ですか?
CRC32は、データの偶発的な変更を検出する32ビットの巡回冗長検査です。このツールは、ZIP、gzip、PNG、zlibで使われるIEEE 802.3多項式0x04C11DB7を反転形式で使用します。結果は単一の32ビット数値です。
CRC32の標準チェック値は何ですか?
テキスト123456789は、CRC-32の公表済みチェック値であるcbf43926になります。空の入力は00000000、abcは352441c2になります。これらの値を使って、別の実装が同じバリアントを使用しているか確認できます。
ツールによってCRC32の値が異なるのはなぜですか?
iSCSIやext4で使われるCRC-32C(Castagnoli)や、反転処理を行わないBZIP2形式など、別のバリアントもあります。これらは異なる多項式やビット順を使うため、異なる値になります。また、改行を含め、両方で同じバイト列をハッシュしているか確認してください。
10進数の出力は何を意味しますか?
10進数では、チェックサムを0から4294967295までの符号なし整数で表示します。これは、64ビットシステムにおけるPHPのcrc32や、Pythonのzlib.crc32と一致します。16進数の出力は、同じ数値を8桁の16進数で表したものです。
CRC32は暗号学的ハッシュですか?
いいえ。CRC32は偶発的な伝送エラーを検出しますが、チェックサムを指定したデータは誰でも作成できます。意図的な改ざんへの対策が必要な場合は、SHA-256などの暗号学的ハッシュを使用してください。
CRC32で衝突が起きる可能性はどのくらいですか?
32ビットしかないため、ランダムな2つの入力が同じチェックサムになる確率は約40億分の1です。約77,000個の入力があると、何らかの組み合わせで衝突する確率はすでに50%に達します。CRC32はエラー検出には適していますが、一意な識別子には向きません。
チェックサムを計算する前に、テキストはどのように変換されますか?
このツールは、入力されたとおりのテキストをUTF-8のバイト列に変換します。ASCII以外の文字は複数バイトになり、改行も計算に含まれるため、相手側でも同じバイト列が使われていることを確認してください。
16進数の出力にはゼロが埋められますか?
はい。16進数は常に小文字8桁で、必要に応じて先頭にゼロが付きます。そのため、0x0000abcdは0000abcdと表示されます。ツールによっては先頭のゼロを省略したり、大文字で表示したりしますが、値は同じです。
ファイルのCRC32を計算できますか?
このツールでは、貼り付けたテキストを処理します。ファイルの場合は、libarchiveツールのcrc32などのローカルコマンドや、zlibを使った短いスクリプトを使用してください。ZIPの中央ディレクトリにも、各エントリーのCRC32が保存されています。
入力できるテキストの長さはどのくらいですか?
1回のリクエストにつき最大5 MiBのテキストを処理できます。CRC32は非常に高速なため、結果はすぐに返され、入力は保存されません。