ハッシュ生成&チェックサム検証
任意のテキストやファイルの MD5、SHA-1、SHA-256、SHA-384、SHA-512 を一度に取得。秘密鍵による HMAC の計算や、公開されたチェックサムとのファイル照合もできます。
ブラウザ内で動作登録不要アップロードなし
ハッシュ生成ツールの使い方
- テキストを入力または貼り付けるか、ファイルに切り替えてファイルをドロップします。大きなファイルはプログレスバー付きで分割して読み込まれます。
- 5 種類のハッシュがすべて一度に計算されます。出力は小文字の hex、大文字の HEX、Base64 から選べます。
- HMAC にチェックを入れて秘密鍵(テキスト、hex、Base64)を入力すると、鍵付きの HMAC-SHA256 などの HMAC が得られます。
- ダウンロードしたファイルを検証するには、公開されているチェックサムをチェックサムを検証に貼り付けます。一致したアルゴリズムがハイライトされます。
ハッシュとは?
暗号学的ハッシュ関数は、任意の入力を固定長の「指紋」に変換します。同じ入力からは常に同じハッシュが得られ、1 バイト変わるだけでまったく別のハッシュになり、ハッシュから元の入力に戻すことはできません。そのため、ファイルの完全性チェック、キャッシュキーの作成、データの重複排除、メッセージの署名に最適です。
どのアルゴリズムを使うべき?
| アルゴリズム | 出力 | 用途 |
|---|---|---|
| MD5 | 128 ビット · 16 進 32 桁 | レガシーなチェックサムやセキュリティと無関係なキャッシュキーのみ。衝突を簡単に作れます。 |
| SHA-1 | 160 ビット · 16 進 40 桁 | Git のオブジェクト ID や古いシステム。2017 年以降、衝突耐性は破られています。 |
| SHA-256 | 256 ビット · 16 進 64 桁 | 標準的な選択肢:ダウンロードのチェックサム、署名、ブロックチェーン、API リクエストの署名。 |
| SHA-384 / SHA-512 | 384 / 512 ビット | より大きなセキュリティマージン。64 ビット CPU では SHA-512 の方が SHA-256 より速いこともよくあります。 |
これらはいずれもパスワードの保存に使ってはいけません。高速に動くよう設計されており、それが攻撃者の助けになるからです。代わりに Argon2id、scrypt、bcrypt のような低速なパスワードハッシュを使ってください。
ファイルのチェックサムを検証する
ソフトウェアベンダーは、ダウンロードごとに SHA-256 を公開していることがよくあります。ファイルをここにドロップし、公開されている値を貼り付ければ、一致するかどうかがわかります。SHA256SUMS ファイルの行をそのまま貼り付けても構いません。ハッシュの後ろのファイル名は無視されます。同等のコマンド:
sha256sum file.iso # Linux
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
HMAC とは?
HMAC(RFC 2104)はハッシュに秘密鍵を混ぜ込むため、鍵を持つ人だけが値を生成・検証できます。Stripe、GitHub、Slack の Webhook は HMAC-SHA256 で署名され、HS256 アルゴリズムの JWT も HMAC を使います。デバッグ時は、生のリクエストボディと署名用シークレットを貼り付ければ署名を再現できます。
よくある質問
ハッシュを計算するためにファイルがアップロードされますか?
いいえ。テキストとファイルは、ブラウザの Web Crypto API(と組み込みの MD5 実装)でローカルにハッシュ化されます。デバイスの外には何も出ません。
他のツールとハッシュ値が異なるのはなぜですか?
たいていは入力が異なります。末尾の改行、Windows の改行コード(CRLF と LF)、異なる文字コードなどです。このツールはテキストを入力どおり UTF-8 でハッシュ化し、改行を追加しません。
echo "text" | sha256sum は改行を含む点に注意してください。echo -n を使いましょう。ハッシュは復号できますか?
いいえ。ハッシュ化は一方向です。MD5 や SHA-1 を「復号」するサイトは、よくある入力のハッシュ表から値を探しているだけです。だからこそ、短い文字列やよくある文字列をシークレットなしでハッシュ化するのは安全ではありません。
SHA-256 と SHA-2 は同じものですか?
SHA-256 は SHA-2 ファミリーの一つで、このファミリーには SHA-224、SHA-384、SHA-512 も含まれます。SHA-3 は別の、より新しい設計です。
どのくらいの大きさのファイルまでハッシュ化できますか?
ブラウザのメモリの制約により 2 GB までです。ファイルはプログレスバー付きで 4 MB ずつ読み込まれるため、ページの応答性は保たれます。