このツールとは?
SHA-256(Secure Hash Algorithm 256-bit)は、任意の入力を固定長64文字の16進数フィンガープリントに変換します。同じ入力は常に同じハッシュを生成し、1文字変わるだけで結果はまったく異なるものになります。NSAが設計しNISTが2001年に標準化した、SHA-2ファミリーの一員です。
MD5やSHA-1と異なり、SHA-256には現在のところ実用的な衝突攻撃や原像攻撃は知られておらず、現行のセキュリティ標準であり続けています。TLS証明書、Bitcoinなどのブロックチェーン、コード署名、パスワードハッシュ方式(通常は低速な鍵導出関数と組み合わせて使用)の基盤となっています。
SHA-256ハッシュを「復号」する——ハッシュだけから元の入力を計算する——ことは設計上、計算量的に不可能です。可能な出力は2^256通りあり、この関数は計算過程で情報を意図的に破棄するため、逆方向に実行できません。いわゆる「SHA-256デコーダー」サイトは、辞書の単語やよくあるパスワードなど、一般的な入力を巨大な事前計算テーブルで検索しているだけで、アルゴリズムを実際に逆算しているわけではなく、独自または無作為な入力は見つかりません。
なぜこれを使うのか?
- SHA-256ハッシュを生成し、ファイルやテキストが改変されていないか検証する。
- 元の値を公開せずに、パスワードやファイルが既知のSHA-256チェックサムと一致するか確認する。
- 決定的で衝突耐性のあるキャッシュキーや整合性チェックサムを作成する。
- ダウンロードしたファイルのSHA-256を配布元公開のチェックサムと照合する。
- 100%ローカル処理:入力内容はブラウザの外に出ません。
使い方
- 入力欄にテキストを入力または貼り付けます。
- 「ハッシュを生成する」をクリックします。
- 64文字のSHA-256結果を確認します(大文字が必要な場合は「大文字での出力」にチェック)。
- 「コピー」をクリックしてハッシュをコピー、または既知の値と直接比較して一致を確認します。
例
入力
hello出力
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824ハッシュは決定的です。「hello」はどのツールでも、いつでもこの64文字の値になります。
SHA-256に「復号」という言葉がふさわしくない理由
暗号化とハッシュはよく混同されますが、解決する問題が異なります。暗号化は設計上可逆で、正しい鍵があれば暗号文は平文に戻せます。ハッシュは意図的に一方向です。SHA-256は任意サイズの入力を固定長256ビットのフィンガープリントに圧縮する過程で情報を破棄するため、それを逆算する鍵は存在しません。まさにこの性質があるからこそ、整合性チェックやデジタル署名に役立つのです——もし逆算できてしまえば、信頼できなくなります。
「SHA-256をデコードする」と検索する人が本当に必要としていること
- 既知の入力からハッシュを生成し、チェックサムとして公開したり後で比較したりする——このツールで直接対応できます。
- 候補の値が既知のSHA-256の出力と一致するか検証する(パスワードの推測が正しいか、ファイルが改変されていないかの確認など)——候補をハッシュ化して文字列を比較します。
- レインボーテーブル検索サービスで、あるハッシュが辞書の単語のような一般的で既知の入力と一致するか調べる——これは復号ではなく、事前にハッシュ化された一般的な値の逆引きインデックスにすぎず、独自または十分にランダムな入力には効果がありません。
- ダウンロードしたファイルが配布元公開のSHA-256チェックサムと一致するか確認し、破損や改ざんを検出する。
現実世界でのSHA-256
ブラウザの鍵アイコンの裏側にあるTLS/SSLハンドシェイクは、証明書が改ざんされていないことをSHA-256で検証しています。BitcoinのプルーフオブワークマイニングやブロックのチェーンもSHA-256が基盤となっており、ソフトウェアパッケージやコンテナイメージの署名にも使われ、配布元のチェックサムに対してダウンロード内容を検証できるようにしています。256ビットの出力空間(2^256通りの値)により、現在および予見可能な計算能力では偶発的・意図的な衝突は天文学的に起こりにくく、それがMD5やSHA-1がもはや受け入れられない場面でも、既定の選択肢であり続ける理由です。
複数のアルゴリズムを一度に比較したいですか?
同じテキストのMD5、SHA-1、SHA-256、SHA-384、SHA-512を1つずつではなく並べて確認したい場合は、複数アルゴリズム比較ツールをご利用ください。
よくある質問
SHA-256ハッシュを復号して元のテキストに戻せますか?
できません。SHA-256は設計上一方向関数であり、ハッシュから元の入力を数学的に計算することはできません。オンラインの「SHA-256復号」ツールは、よくある入力の巨大な事前計算テーブルを検索しているだけなので、独自または無作為なテキストはこの方法では絶対に元に戻せません。
復号できないなら、SHA-256ハッシュを「デコード」するにはどうすればいいですか?
こうした検索をする人の多くは、実際には次の3つのいずれかを求めています。テキストからハッシュを生成する(このツールを使用)、あるテキストが特定の既知のハッシュを生成するか検証する(ハッシュ化して比較する)、または公開されたチェックサムに対してファイルの整合性を確認する。この3つはすべてここで対応でき、ハッシュを逆算する必要はありません。
パスワードの保存にSHA-256は安全ですか?
SHA-256単体では理想的ではありません。計算が高速なため、現代のハードウェアでは弱いパスワードへの総当たり攻撃が安価に行えてしまいます。パスワードにはbcrypt、scrypt、Argon2のような低速な鍵導出関数を使い、SHA-256は方式全体ではなく一要素として使うのが理想です。
同じテキストなのに別のツールでハッシュが異なるのはなぜですか?
多くの場合、目に見えない違いが原因です。末尾の改行やスペース、改行コードの違い(\r\n と \n)、テキストエンコーディングの違いなどです。バイト単位で完全に同一の入力であれば、SHA-256ハッシュも必ず同一になります。
SHA-256もMD5やSHA-1のように破られていますか?
いいえ。MD5(128ビット)とSHA-1(160ビット)はどちらも実用的な衝突攻撃があり、セキュリティ用途では破られたとみなされています。SHA-256(256ビット)には既知の実用的な攻撃はなく、TLS、ブロックチェーン、デジタル署名における現行の標準であり続けています。
ハッシュ計算のために入力内容がサーバーに送信されますか?
いいえ。SHA-256はブラウザ内蔵のWeb Crypto APIですべて計算されます——すべてお使いの端末内で完結し、外部に送信されることはありません。