ハッシュ生成ツール(SHA-256 / SHA-512)
テキストやファイルの SHA-1、SHA-256、SHA-384、SHA-512 ハッシュを計算 — ブラウザ内蔵の WebCrypto を使用し、何もアップロードされません。
1,228回閲覧
計算中…
ファイルを読み込めませんでした。
仕組み
暗号学的ハッシュ関数は、任意のサイズの入力 — 単語1つ、段落1つ、数ギガバイトのファイル — を受け取り、固定長の出力(ダイジェストと呼ばれる)を生成します。SHA-1は160ビット、SHA-256は256ビット、SHA-384は384ビット、SHA-512は512ビットです。このツールはこれら4種類すべてをブラウザ内蔵のWebCryptoエンジンでローカルに計算します — HTTPS接続がすでに信頼している、監査済みの同じ実装です。そのため大きなファイルでも高速にハッシュ化され、デバイスの外に出ることは一切ありません。
この関数群を有用にしている性質は3つあります。第一に、一方向性です — ダイジェストから元の入力を復元する実用的な方法は存在せず、可能な手段は推測した値を再度ハッシュ化して比較することだけです。第二に、決定性です — 同じ入力は常に厳密に同じダイジェストを生成し、これがチェックサムをそもそも意味あるものにしています。第三に、雪崩効果(avalanche effect)を示すことです — 入力のたった1ビット、たとえば数ギガバイトのファイル中の1文字を変えるだけで、出力のビットのおよそ半分が反転します。16進数の1文字でも異なるダイジェストは、入力が同一でないことを意味します。それだけです。
典型的な例:ソフトウェアの配布元がダウンロードとともにsha256sum: 9f86d0...を公開しているとします。ダウンロード後にファイルをここでハッシュ化し、2つの文字列を1文字ずつ比較してください — 一致すればファイルは無傷で届いており、一致しなければ転送中に壊れたか改ざんされたことになります。同じ手法は、2つのファイルがバイト単位で同一かどうかを比較する用途や、ファイルの内容から安定したキャッシュバスティング用キーを生成する用途にも使えます。
知っておくべきこと
MD5はあえて提供していません。MD5は暗号学的にすでに破られています — 研究者は実用的な衝突攻撃を実証しており、これは2つの異なる入力から同一のMD5ダイジェストを生成できることを意味し、整合性やセキュリティのチェックという目的そのものを無効にします。ブラウザのWebCrypto APIがMD5を完全に除外しているのはこのためです。配布元がMD5のチェックサムしか公開していない場合は、それを最後の手段として扱い、SHA-256の提供を求めてください — 現代のほぼすべての配布物はSHA-256を用意しています。
SHA-1は、不良ダウンロードやディスクエラーといった偶発的な破損の検出には問題ありませんが、証明書やデジタル署名のようなセキュリティ用途では非推奨です。SHA-1に対しても衝突攻撃が実証されているためで、結果が意図的な攻撃者に耐える必要がある場合は常にSHA-256以上を選んでください。
最後に、ハッシュ化だけではパスワードを保存する正しい方法にはなりません。パスワードの生のSHA-256は計算が高速であるため、盗まれたデータベースを持つ攻撃者は1秒間に数十億通りの推測を試せてしまいます。正しいパスワード保存は、アカウントごとに一意なランダムソルトを加え、意図的に低速な専用関数(bcrypt、scrypt、Argon2など)を使います — このツールはチェックサムと整合性検証のためのものであり、認証のためのものではありません。
よくある質問
なぜMD5は提供されていないのですか?
ブラウザのWebCryptoは、暗号学的に破られているという理由でMD5を意図的に除外しています。ベンダーがMD5チェックサムしか公開していない場合はSHA-256を求めてください — 現代の配布物であればほぼ必ず提供されています。
SHA-1は使っても安全ですか?
偶発的な破損に対する整合性チェックには問題ありません。署名や証明書などセキュリティ用途ではSHA-1は非推奨です — SHA-256以上を優先してください。そのためリストの先頭に配置しています。
ファイルはハッシュ計算のためにアップロードされますか?
いいえ。ファイルはブラウザ内でWebCryptoにより読み込まれ、ハッシュ化されます。どこにも送信されません。
ハッシュを元の入力に戻すことはできますか?
いいえ — それこそが一方向関数の存在意義です。ダイジェストから入力へ至る数学的な近道は存在しません。「逆算」する唯一の方法は、入力を推測してハッシュ化し、一致するまで繰り返すことですが、これは短い入力や予測可能な入力に対してのみ実用的です。ソルトなしで漏洩したパスワードハッシュのダンプが解読される仕組みは、まさにこの推測アプローチです。
このツールでパスワードをハッシュ化し、その結果を保存しても構いませんか?
実際の認証システムには向きません。パスワードの生のSHA-2ハッシュは決定的かつ高速であるため、盗まれたハッシュのデータベースは短時間でブルートフォース攻撃を受けます。パスワード保存にはソルト(アカウントごとの一意なランダムデータ)と、bcryptやArgon2のような意図的に低速なアルゴリズムが必要です — このツールはファイルやテキストの整合性チェックを目的としており、認証情報の保存を目的としたものではありません。
関連ツール
問題を報告
ハッシュ生成ツール(SHA-256 / SHA-512)
コメント
まだコメントはありません — 最初のコメントを書いてみましょう!