テック技報最新号へ →
コード

セキュリティ: bcrypt はパスワードの先頭 72 バイトしか見ない

bcrypt は入力の先頭 72 バイト以降を捨てる。長いパスフレーズや「末尾だけ違う」パスワードが同じハッシュになる。

@zaru · 投稿 2026-11-05
#security#password#bcrypt#auth

使う場面

ユーザーに長いパスフレーズを許している、またはパスワードの末尾に pepper / サイト固有文字列を足している実装。認証まわりのレビューや「なぜ通ったか」の調査時。

やり方

注意点

  • 「バイト」であり「文字」ではない。UTF-8 の多バイト文字では 72 文字より早く切れる。
  • 先行ハッシュ(SHA-256 → bcrypt)は salt の扱い・エンコード(hex / raw)を一貫させないと検証できない。既存ハッシュの移行計画が必要。
  • ニュースや脆弱性報告で bcrypt が話題になったときの「試したくなるテスト」としても知られるが、本番の他人のアカウントで試さないこと。

出典

X の元の投稿を開く