ハッシュ化する文字列

MD5
SHA-1
SHA-256
SHA-512

テキストのハッシュ値(チェックサム)を作るためのツールです。入力欄に文字列を打ち込むか貼り付けると、MD5・SHA-1・SHA-256・SHA-512 の4種類のダイジェストを16進数で同時に表示します。ファイルの完全性チェック用の値を手で照合したいとき、API 署名やトークンの検証、データの重複判定キー、サンプルのハッシュ生成、学習や動作確認など、ちょっとした場面で「この文字列の SHA-256 は何か」をすぐ知りたいときに使えます。入力は UTF-8 でバイト化してから計算するので、日本語や絵文字を含む文字列も正しく扱えます。`SHA-1` / `SHA-256` / `SHA-512` はブラウザ標準の WebCrypto(`crypto.subtle.digest`)で計算し、WebCrypto が対応していない `MD5` のみ純粋な JavaScript 実装で計算します。「大文字の16進」を切り替えると各ハッシュを大文字表記で表示でき、設定はブラウザに保存されます。各行の「コピー」ボタンでハッシュ値をワンクリックでコピーできます。ハッシュ化する文字列にはパスワードや個人情報など機微なデータを入れることがあるため、本ツールは計算のすべてをあなたのブラウザ内だけで行い、入力した文字列・ハッシュ値をサーバーへアップロード・保存・送信しません。なお、MD5 と SHA-1 は衝突が見つかっており、改ざん検知やパスワード保存などのセキュリティ用途には推奨されません(互換目的の照合に限って使ってください)。セキュリティ用途では SHA-256 以上を使うのが安全です。

使い方

  1. 入力欄にハッシュ化したい文字列を入力するか貼り付けます(「サンプル」で例を試せます)。
  2. MD5・SHA-1・SHA-256・SHA-512 のハッシュ値(16進)が即座に同時表示されます。必要なら「大文字の16進」を切り替えます。
  3. 各行の「コピー」でハッシュ値をコピー。入力した文字列はどこにも送信されません。

よくある質問

入力した文字列はアップロードされますか?

いいえ。ハッシュ計算はすべてあなたのブラウザ内(JavaScript / WebCrypto)で実行され、入力した文字列もハッシュ値もサーバーへアップロード・保存・送信されません。パスワードや個人情報を含む文字列も端末の中だけで処理されます。

MD5 はなぜ JavaScript で計算しているのですか?

ブラウザ標準の WebCrypto(crypto.subtle.digest)は SHA-1 / SHA-256 / SHA-384 / SHA-512 などには対応していますが、MD5 には対応していません。そのため MD5 のみ純粋な JavaScript 実装で計算しています(結果は標準的な MD5 と同じ16進ダイジェストです)。

日本語や絵文字を含む文字列も正しく計算できますか?

はい。入力文字列を UTF-8 でバイト列に変換してからハッシュを計算します。多くのツールやライブラリの既定(UTF-8)と一致するため、日本語や絵文字を含むテキストでも他環境と同じハッシュ値が得られます。

MD5 や SHA-1 を使っても大丈夫ですか?

MD5 と SHA-1 は衝突攻撃が実証されており、改ざん検知・電子署名・パスワード保存などのセキュリティ用途には推奨されません。古いシステムとの互換チェックサム照合などに限って使い、セキュリティが必要な場面では SHA-256 以上を使ってください。

ファイルのハッシュも計算できますか?

本ツールはテキスト(文字列)のハッシュに特化しています。ファイル全体のチェックサムが必要な場合は、ファイルの内容を文字列として扱うのではなく、ファイル向けのハッシュ手順をご利用ください(今後の対応を検討しています)。