bcryptBlowfish-based crypt
bcrypt は、Blowfish 暗号を基にしたパスワードハッシュ関数で、コストパラメータで計算量を調整できます。1999年から使われる古典的だが現役のアルゴリズムです。
詳細解説
bcrypt は Niels Provos と David Mazières が1999年に発表したパスワードハッシュ関数で、Blowfish の鍵スケジュールを反復させた EksBlowfishSetup を中核とします。出力は「$2b$コスト$22文字Salt$31文字Hash」の60文字形式で、コストパラメータ (4〜31) を上げると2の指数回の処理が増え、ハードウェア進化に応じて鍵伸長強度を引き上げられるのが画期的でした。現在の推奨コストは10〜12で、ログイン応答が約100〜250ms に収まる範囲が目安です。72バイト超の入力は無視される長さ制限と、パスワードに NULL 文字が含まれると切り詰められる挙動に注意が必要です。後継として Argon2 が2015年のPHCコンペで勝者となり、新規プロジェクトはArgon2 を推奨されますが、bcryptは枯れた実績で今も多用されます。
実装例 / 使い方
- 01Node.js で bcrypt.hash(password, 12) → cost 12
- 02Rails の has_secure_password はデフォルトで bcrypt cost 12
- 0372バイト超は切捨てなので長文パスフレーズは pre-hash 要
関連する用語
Argon2
Argon2 (PHC Winner)Argon2 は 2015年 Password Hashing Competition で勝者となった現代的パスワードハッシュ関数で、メモリハードでGPU/AS...
パスワードハッシュ
Password Hashingパスワードハッシュは、平文パスワードを不可逆関数で変換し保管する技術で、Argon2id・bcrypt・scrypt が推奨されます。SHA-256 等の一般ハ...
HMAC
Hash-based Message Authentication CodeHMAC は、共通鍵とハッシュ関数 (SHA-256等) を組み合わせメッセージ認証コードを生成する仕組みで、データの完全性と送信元検証を提供します。RFC 2...
ブルートフォース攻撃
Brute Force Attackブルートフォース攻撃は、パスワードやトークンを総当たりで試行し正解を見つける攻撃で、対策はレートリミット・MFA・アカウントロック・強力なハッシュです。...
bcryptを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
