SHA256ハッシュジェネレーター

任意のテキストを貼り付けると、このジェネレーターはそのSHA-256ダイジェストを64文字の小文字16進による決定論的な文字列として返します。SHA-256はSHA-2ファミリーの256ビットのメンバーであり、現代暗号のデファクトなハッシュです。Bitcoinのブロックハッシュ、TLS 1.3のトランスクリプト、JWTのHS256署名、コンテナイメージのダイジェストはいずれもこれに依存しています。SHA-256は一方向ハッシュであり暗号化ではない点に注意してください。ダイジェストを復号したり、元のテキストに戻したりすることはできません。

SHA-256ダイジェストの生成方法

  1. 1

    テキストを入力

    任意のUTF-8文字列を入力または貼り付けます。文、JSONペイロード、APIキー、フィンガープリントを取りたいあらゆるテキストです。

  2. 2

    入力エンコーディングはUTF-8

    テキストはハッシュ化の前にUTF-8バイトへシリアライズされます。一般的に使われるあらゆるSHA-256ライブラリと同じ挙動です。

  3. 3

    ハッシュが計算される

    メッセージは512ビットの倍数までパディングされ、SHA-256の圧縮関数を通じて64ラウンドにわたりブロックごとに処理されます。

  4. 4

    64文字の16進をコピー

    出力は常に64文字の小文字16進(256ビット)です。ワンクリックでコピーできます。

SHA-256の基礎データ

プロパティ
出力サイズ 256ビット / 16進64文字
ブロックサイズ 512ビット
ラウンド数 64
衝突耐性 約2^128の計算量(理論値)
原像耐性 約2^256の計算量
ハードウェア対応 Intel/AMD/ARMのSHA拡張命令(sha256rnds2、sha256h)

SHA-256が使われる場所

  • Bitcoin。 ブロックヘッダー、アドレス、TXIDに対する二重SHA-256(SHA256(SHA256(x)))。
  • TLS 1.3。 トランスクリプトハッシュがハンドシェイクのメッセージを最終的な鍵スケジュールに結び付けます。
  • Subresource Integrity。 <script>タグのintegrity="sha256-..."により、ブラウザーが改ざんされたCDNリソースを拒否します。
  • JWT。 HS256はHMAC-SHA-256を使い、RS256とES256はRSAまたはECDSAとともにSHA-256を使います。
  • コンテナイメージ。 sha256:abc123...のダイジェストがレジストリ全体でイメージレイヤーを識別します。
  • コンテンツアドレス指定。 IPFS、git(任意)、パッケージインデックスはSHA-256でコンテンツを識別します。

このツールは16進を返します

ダイジェストは64文字の小文字16進として表示されます。これはsha256sum、Git、ほとんどのツールが使う形式と同じです。他のエコシステムは同じ32バイトを別の方法で符号化します。Subresource Integrityや一部のAWS署名はbase64(パディング込みで44文字)を使い、コンテナレジストリは16進の前にsha256:を付けます。これらの形式が必要な場合は、ここの16進を取り、バイト列を再符号化してください。基になるダイジェストは同一です。

小さな落とし穴:末尾の改行

echo "hello" | sha256sumは5バイトではなく6バイトのhello\nをハッシュします。コマンドラインツールが同じに見える入力に対してこのジェネレーターと異なる値を返す場合は、末尾の改行が含まれていないか確認してください。ちょうど5バイトをハッシュするにはecho -n "hello"またはprintf "hello"を使います。

よくある質問

いいえ。このジェネレーターは入力または貼り付けたテキストをハッシュします。ファイルのフィンガープリントを取るには、ディスク上の生バイトを読み取るsha256sum ファイルshasum -a 256 ファイルcertutil -hashfile ファイル SHA256などのコマンドラインツールを使ってください。

それ単体では安全ではありません。SHA-256は高速で、チェックサムには最適ですがパスワード保管には不向きです。攻撃者はGPUで毎秒数十億回のハッシュを計算できます。パスワードにはArgon2idまたはbcryptを使ってください。SHA-256はHMACベースの認証コードの内部で使う分には問題ありません。

SHA-2はファミリー(SHA-224、SHA-256、SHA-384、SHA-512)です。SHA-256はその中の特定の出力長です。誰かが指定せずに「SHA-2」と言う場合、通常はSHA-256を指します。

当社のサーバー上です。テキストは暗号化された接続で送信され、標準のSHA-256関数でハッシュ化され、64文字のダイジェストが返されます。送信された内容は保存しません。SHA-256は一方向なので、ダイジェストを元の入力へ戻したり復号したりすることはできません。

関連ツール

このツールは他の言語でも利用できます