コンテンツへスキップ
uencoder

SHA-256

SHA-256 は SHA-2 ファミリーの 256 ビット出力版である。TLS、ブロックチェーン、暗号応用で広く使われ、現実的な攻撃は知られていない。

目的

現代の衝突・原像耐性の要件を満たす 256 ビットのセキュアハッシュを提供する。

メカニズム

入力を 512 ビットブロックで処理し、256 ビット(32 ビット語 8 個)の状態を維持する。各ブロックはメッセージスケジュールとラウンド定数を伴う 64 ステップの非線形変換で状態を更新し、256 ビットのダイジェストを出力する。

ユースケース

  • TLS 1.2/1.3 証明書の署名
  • Bitcoin のプルーフオブワーク
  • ファイルの整合性検証
  • HMAC-SHA256 によるメッセージ認証

例

  • 入力
    hello
    Output
    2cf24dba5fb0d30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

    256 bits = 64 hex characters

よくあるエラー

Hashing passwords directly with SHA-256 (no salt)
Use PBKDF2/bcrypt/Argon2

関連用語

関連ツール

References