チェックサム検証
チェックサムはデータから計算される短い指紋のようなもので、公開者はダウンロードや設定値が破損・改ざんされていないことを確認できるように値を掲載しています。この検証ツールは、貼り付けたテキストのチェックサムを MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 で計算し、期待値も貼り付ければ一致するかどうかをひと目で示します。API キー、ライセンスコード、設定の断片、短いメッセージを、ベンダーが掲載しているハッシュ値と照合するのに便利です。
チェックサムの確認方法
-
1
テキストを貼り付ける
チェックサムを求めたいテキストを入力または貼り付けます。たとえば API キー、ライセンスコード、設定の断片などです。
-
2
アルゴリズムを選ぶ
MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 から選択します。比較対象の値を作った公開者が使ったものと同じアルゴリズムを選んでください。
-
3
期待値を貼り付ける(任意)
公開者のページにあるハッシュ値を追加します。比較では大文字と小文字を区別しません。ハッシュ値は掲載どおりのままにしてください。
-
4
結果を確認する
計算されたチェックサムがコピー用に表示され、期待値を入力した場合は一致が緑、不一致が赤で示されます。
どのアルゴリズムを使うか
| アルゴリズム | 出力サイズ | 速度 | 衝突耐性 | 用途 |
|---|---|---|---|---|
| MD5 | 128 ビット | 最速 | 破られている | レガシー互換のみ |
| SHA-1 | 160 ビット | 速い | 推奨されない | レガシー;git は現在も使用 |
| SHA-256 | 256 ビット | 中程度 | あり | 現代の標準 |
| SHA-384 | 384 ビット | 中程度 | あり | すでに 384 ビットを使うシステム |
| SHA-512 | 512 ビット | 中程度 | あり | さらに慎重な場合/暗号鍵 |
| CRC32 | 32 ビット | 最速 | なし | 破損の簡易チェック用。セキュリティには不向き |
公開者が別のアルゴリズムを掲載していない限り SHA-256 を使ってください。MD5 と SHA-1 はレガシーのダウンロードで今も見かけますが、現代のハードウェアでは簡単に偽造できるため、気軽な破損チェックにだけ使い、攻撃者を相手にする完全性の検証には使わないでください。CRC32 は暗号学的ハッシュではありません。偶然の破損は検出できますが、意図的な改ざんに対する保護はありません。
公開者がハッシュ値を掲載する場所
- Linux ディストリビューション:各 ISO のダウンロードの横に SHA-256 と SHA-512。多くの場合 PGP 署名付きの SHASUMS ファイルがあります。
- オープンソースのリリース(GitHub):リリースページにハッシュ値。README の
shasum -a 256が使われることも多いです。 - エンタープライズソフトウェア:ダウンロード確認時に MD5 または SHA-256。GPG 署名付きマニフェストを公開するベンダーもいます。
- パッケージマネージャー:apt、yum、Homebrew などは自動で検証します。手動検証が必要なのは直接ダウンロードした場合だけです。
検証のコツ
- ハッシュ値はファイルとは別の情報源から取得しましょう。両方が同じ侵害されたミラーから来ている場合、両方とも偽装されている可能性があります。
- GPG 署名を確認しましょう。署名付き SHASUMS ファイルは、公開者(秘密鍵の持ち主)がハッシュ値を保証している証拠です。
- 転送後に値を再確認しましょう:ファイルや秘密情報を別のマシンに移したら、両端でハッシュを再計算して一致を確認します。
- 改行に注意しましょう:末尾の改行がひとつ多いだけ、または少ないだけでもハッシュは完全に変わります。貼り付けたテキストが原文と一文字でも違えば、チェックサムは一致しません。
プライバシー
貼り付けたテキストはチェックサムを計算するために当サーバーへ送信され、ステップごとのモードではステップ間、ブラウザーのストレージに保持されるため、再度貼り付ける必要はありません。テキストはデータベースに保存されず、第三者と共有されることもありません。
よくある質問
よくある原因は、期待値を別のバージョンのリリースからコピーした、テキストに余分な空白・タブ・改行が含まれている(末尾の改行ひとつでもハッシュは変わります)、あるいは公開者と違うアルゴリズムを選んだ、というものです。正しいテキストと正しいハッシュの行を比較しているか確認してください。
気軽な破損チェック(ダウンロードがきれいに完了したか)には使えます。セキュリティ上重要な検証(このファイルが改ざんされていないか)には使えません。MD5 の衝突は一般的なハードウェアで数秒以内に作れるからです。
CRC32 は、ZIP ファイルや PNG 画像、ネットワークプロトコルが偶然の破損を検出するために使う、高速な非暗号学的チェックサムです。ランダムな破損はよく検出しますが、攻撃者はミリ秒単位で衝突を作れるため、セキュリティの目的で頼ってはいけません。
このツールが扱うのは貼り付けたテキストであり、ファイルではありません。ダウンロードしたファイルを確認するには、自分の端末でハッシュを計算し(たとえば sha256sum、Get-FileHash、グラフィカルなツール)、その結果を公開者が掲載している値と比較してください。
関連ツール
Atbash暗号エンコーダー
A-ZをZ-Aに対応させるヘブライ系の換字式暗号、Atbashでテキストをエンコードまたはデコードできます。同じ操作で暗号化と復号ができます。
AES暗号化 / 復号
OpenSSLのAES暗号方式で低リスクのテキストを暗号化・復号します。パスフレーズはSHA-256でハッシュされ、Base64出力はIVと暗号文です。
bcryptジェネレーター
平文パスワードからbcrypt hashを生成します。cost factorは4から13まで調整でき、Laravel、Django、Node、PHPと互換性があります。
Base64ファイルエンコーダー
あらゆるファイル(PDF、ZIP、画像、実行ファイル)をBase64テキストにエンコードし、JSON、メール、YAML、data URIへ埋め込めます。ブラウザ内でローカルに動作し、アップロードはありません。
Base32エンコーダー・デコーダー
RFC 4648アルファベットでBase32文字列をエンコード・デコードします。TOTPシークレット、大文字小文字を区別しないトークン、人が入力する識別子に便利です。
bcrypt Hashジェネレーター
bcrypt hashの生成、または平文パスワードと既存bcrypt hashの照合を行います。生成とverifyを1つのツールで並べて使えます。