本文へスキップ

ハッシュ生成ツールベータ

テキストやファイルのMD5・SHA-1・SHA-256・SHA-384・SHA-512ハッシュをブラウザ内で計算します。16進数・Base64表示とハッシュ値の比較に対応。

入力方法

計算するアルゴリズム
表示形式

ハッシュ結果

  • MD5
  • SHA-1
  • SHA-256
  • SHA-384
  • SHA-512

ファイルはこの端末の中だけで処理され、サーバーには送信されません。

ハッシュとは何ですか

ハッシュとは、どんな長さのデータでも決まった長さの文字列に要約する計算です。たとえばSHA-256は、入力が1文字でも10GBの動画ファイルでも、必ず64桁の16進数文字列を返します。同じ入力からは常に同じハッシュ値が得られ、入力がたった1ビットでも変わればハッシュ値はまったく異なるものになります。この性質のおかげで、ハッシュは「2つのデータが本当に同じかどうか」を素早く確認する手段として広く使われています。

使い方

テキストを貼り付けるか、ファイルをドラッグ&ドロップすると、選んだアルゴリズムのハッシュ値が計算されます。複数のアルゴリズムを同時に選ぶことができ、結果は16進数(小文字・大文字)またはBase64で表示できます。大きなファイルは一度にメモリへ読み込まず、少しずつ分割しながら計算するため、計算中は進捗が表示され、いつでもキャンセルできます。配布元から受け取ったハッシュ値があれば、比較欄に貼り付けるだけで一致するかどうかを確認できます。

ファイルの整合性を確認する方法

ソフトウェアやディスクイメージのダウンロードページには、「SHA-256: 3a7bd3e2…」のようにハッシュ値が併記されていることがよくあります。受け取ったファイルを同じアルゴリズムでここで計算し、その文字列と一致すれば、ファイルは転送中に壊れたり別のファイルにすり替わったりしていないということです。値が一致しない場合はもう一度ダウンロードし直してください。この確認は、配布元が公開している値自体が改ざんされていないことを前提にしています。

MD5とSHA-1:今も使われるが安全ではない

MD5(128ビット、16進数32桁)とSHA-1(160ビット、16進数40桁)は計算が速く、長く使われてきたため、今でもチェックサム用途でよく見かけます。しかし、どちらも異なる入力から同じハッシュ値を作り出す「衝突」が見つかっています。MD5は2004年に、SHA-1は2017年の「SHAttered」研究で、実際の衝突例が公開されました。そのため、電子署名や証明書のように誰かが意図的に値を偽造しようとする可能性があるセキュリティ用途では、SHA-256・SHA-384・SHA-512のようなより長いハッシュが使われます。ただし、パスワードの保存は別です。MD5・SHA-1・SHA-2・SHA-3のような汎用ハッシュは計算が速すぎるため、パスワードの保存には向きません。Argon2id・scrypt・bcryptのような、あえて計算を遅くしたパスワード専用のハッシュ関数を使ってください。単に転送中の破損の有無だけを確認するチェックサムであれば、MD5・SHA-1は今でも実用的です。

プライバシー:ブラウザの中だけで計算されます

このツールはWebAssemblyで作られたハッシュライブラリをブラウザの中で直接実行します。テキストもファイルも、このページの外に送信されることはなく、サーバーに保存されることもありません。ページを一度読み込んだ後であれば、インターネット接続が切れていても使い続けられます。

参考資料

よくある質問

ハッシュ(チェックサム)は何に使うのですか?

ハッシュは、どんなデータでも決まった長さの文字列に要約した値です。ダウンロードしたファイルが転送中に壊れていないか、元のファイルと完全に同じかを確認するために使います。配布元が公開しているハッシュ値と、受け取ったファイルのハッシュ値が一致すれば、ファイルは壊れたり改ざんされたりしていないと判断できます。

ハッシュは暗号化と同じものですか?

いいえ、違います。暗号化は鍵があれば元のデータに戻せますが、ハッシュは一方向にしか計算できない関数で、結果の値から元のデータを復元することはできません。同じ入力からは常に同じハッシュ値が得られ、入力が1文字でも変わると結果はまったく別のものになります。

MD5やSHA-1はなぜ安全ではなくなったのですか?

異なる2つの入力から同じハッシュ値を意図的に作り出す「衝突」が可能になったためです。MD5の衝突は2004年に公開され、SHA-1の衝突(「SHAttered」)は2017年にGoogleとCWIアムステルダムが実際に公開しました。そのため、電子署名や証明書のように誰かが意図的に偽造を試みる可能性がある用途ではSHA-256以上が使われます。一方、単にファイルが壊れていないかを確認するチェックサム用途では、MD5やSHA-1も今なお広く使われています。

このページで計算したファイルはサーバーに送信されますか?

いいえ。ファイルはこのブラウザの中でだけ読み込まれ、ハッシュが計算されます。どこにもアップロードされません。ページを一度読み込んだ後であれば、インターネットに接続していなくても使い続けられます。ページを閉じると何も残りません。

使用しているオープンソース: hash-wasm (MIT)