ハッシュ値の計算(SHA-256・SHA-1・SHA-512)
文字列のハッシュ値(SHA-1・SHA-256・SHA-384・SHA-512)を計算します。データの照合や整合性の確認に。
ハッシュ値の計算について
ハッシュ値は、データから一定の長さの文字列を計算した、いわば「指紋」のようなものです。同じデータからは必ず同じ値が得られ、少しでもデータが違えば、まったく別の値になります。ファイルの改ざん検出や、データの照合に使われます。
SHA-1・SHA-256・SHA-384・SHA-512に対応しています。計算は、ブラウザの標準機能で行われ、入力した文字列が外部に送信されることはありません。ハッシュ値から元のデータを復元することはできません。パスワードの保存には、専用の方式(bcrypt・Argon2など)を使ってください。
こんなときに使えます
- ダウンロードしたファイルの値と、公開されているハッシュ値を比べる
- データが変更されていないかを確認する
- プログラミングで、ハッシュ値の期待値を確認する
使うときのポイント
- SHA-1は、衝突が見つかっており、セキュリティ用途には推奨されない
- 改行や空白の違いで、ハッシュ値は変わる
計算例
入力欄の初期値のまま計算すると、次の結果になります。条件は、ハッシュ化する文字列がhello、大文字で表示がいいえです。数値を変えると、この結果もそれに合わせて変わります。
| SHA-256 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
|---|---|
| SHA-1 | aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d |
| SHA-384 | 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f |
| SHA-512 | 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 |
使い方
- 文字列を入力します。
- 各アルゴリズムのハッシュ値が表示されます。
計算方法・仕組み
ブラウザ標準のWeb Crypto APIで計算しています。入力した文字列は外部に送信されません。MD5は標準機能にないため対応していません。
ハッシュ値は一方向の変換で、元の文字列には戻せません。
知っておきたい基礎知識
ハッシュ値は、データから、一定の長さの文字列を計算した値で、元のデータが1文字違うだけで、全く異なる値になります。元のデータに戻すことはできない一方向の変換のため、ファイルが改ざんされていないかの確認や、データの照合に使われます。SHA-256は、256ビット(64桁の16進数)のハッシュ値を作る、広く使われている方式です。
古いMD5やSHA-1は、異なるデータから同じハッシュ値を作る攻撃(衝突)が見つかっており、セキュリティ用途には、推奨されていません。パスワードを保存するときは、SHA-256だけでなく、ソルトを加えて、計算を遅くするbcryptやArgon2などの、専用の方式を使います。このツールは、ブラウザの中で計算するため、入力した文字列が、外部に送信されることはありません。
間違えやすいポイント
- パスワードの保存に、素のSHA-256を使うのは、安全とはいえない。専用の方式を使う
- 改行や、末尾の空白の有無で、ハッシュ値が全く変わる
- ハッシュ値は、暗号化ではない。元のデータに戻すことはできない
よくある質問
- パスワードの保存にSHA-256を使ってもいいですか?
- いいえ。パスワードの保存には、bcryptやArgon2などのパスワード専用のハッシュ方式を使ってください。
- ファイルのハッシュ値は、計算できますか?
- このツールは、文字列のハッシュ値の計算です。ファイルのハッシュ値は、OSの標準コマンド(certutil、shasumなど)で、確認できます。
- MD5は、使えますか?
- ブラウザの標準機能に含まれないため、対応していません。また、セキュリティ用途には、推奨されていません。