ハッシュ生成器
テキストからMD5/SHA-1/SHA-256ハッシュを生成。
入力内容はサーバーに送信されません
生成結果
条件を入力してください
ハッシュ関数とは
ハッシュ関数は、任意の長さのデータを固定長の文字列(ハッシュ値)に変換する一方向関数です。同じ入力からは常に同じ出力が生成され、出力(ハッシュ値)から元の入力データを逆算することは計算上不可能という特性を持ちます。
良いハッシュ関数には「衝突耐性」(異なる入力から同じハッシュが生成されにくい)と「雪崩効果」(入力が1ビット変わるとハッシュが大きく変わる)という特性が求められます。これにより、データの改ざん検出に非常に有効です。
主要ハッシュアルゴリズムの比較
| アルゴリズム | 出力長 | 安全性 | 主な用途 |
|---|---|---|---|
| MD5 | 128ビット(32文字) | 低(非推奨) | ファイルチェックサム(参考値) |
| SHA-1 | 160ビット(40文字) | 中(非推奨) | Gitコミットハッシュ(歴史的) |
| SHA-256 | 256ビット(64文字) | 高(推奨) | TLS証明書、ブロックチェーン |
ハッシュの主な活用場面
- ファイルの整合性確認:ソフトウェアのダウンロードページでSHA-256チェックサムを公開し、ダウンロードしたファイルが改ざんされていないか確認できます。
- パスワードの安全な保存:パスワードをそのまま保存するのではなく、ハッシュ値(+ソルト)を保存することで、データベースが漏洩しても元のパスワードを守れます。パスワード専用にはbcrypt・Argon2の使用が推奨です。
- デジタル署名:文書のハッシュ値を秘密鍵で署名することで、文書の改ざん検出と送信者の認証が同時に行えます。
- ブロックチェーン:ビットコインなどはSHA-256を使ってブロックを連鎖させ、改ざんが困難な台帳を実現しています。
よくある質問
ハッシュとは?
任意のデータを固定長の文字列に変換する一方向関数です。同じ入力なら必ず同じ出力になり、出力から元の入力を逆算(復元)することは計算上不可能です。
SHA-256とMD5の違いは?
SHA-256は256ビット(64文字)、MD5は128ビット(32文字)のハッシュを生成します。MD5はハッシュ衝突(異なる入力から同じハッシュが生成される現象)に対して脆弱であることが知られており、セキュリティ用途にはSHA-256またはSHA-3の使用が推奨されています。
ハッシュの用途は?
パスワードの安全な保存(ソルト付きハッシュ)、ファイルの整合性チェック(ダウンロードファイルの改ざん検出)、デジタル署名、ブロックチェーンのトランザクション検証などで使われます。
パスワード保存にMD5は使えますか?
MD5は衝突に脆弱で、レインボーテーブル攻撃にも弱いため、パスワード保存には使用しないでください。パスワードの保存にはbcrypt・scrypt・Argon2などの専用アルゴリズムを使うことが推奨されます。
ハッシュ値が同じなら同じファイル?
SHA-256であれば実用上はそう見なせます。SHA-256で2つのファイルのハッシュが一致すれば、内容が同一である可能性が極めて高いです。ファイルのダウンロード後に公式サイトが提供するチェックサムと照合することで改ざん検出ができます。
SHA-1は安全ですか?
SHA-1は2017年にGoogleがSHAttered攻撃で実際の衝突を発見したため、セキュリティ用途への使用は推奨されません。ただし、Gitのコミットハッシュなど改ざん検出目的での利用は依然として行われています。新規用途にはSHA-256以上を使ってください。
免責事項
- 本ツールはブラウザ上で動作する簡易ハッシュ生成ツールです。MD5は簡易実装のため、正確なMD5ハッシュが必要な場合は専用ツールをご利用ください。
- 機密情報の取り扱いにはご注意ください。ハッシュ化は暗号化ではなく、元データの秘匿を保証するものではありません。
- 本ツールの利用により生じた損害について、当サイトは一切の責任を負いません。