텍스트

BCrypt 해시 계산

입력한 문자열의 BCrypt 해시값을 브라우저에서 계산합니다. 입력 내용은 서버로 전송되지 않습니다.


문자열
라운드 수

※해시값은 웹 브라우저에서 계산됩니다. 입력한 문자열과 계산된 해시값 모두 서버로 전송되지 않습니다.


Tips

  • BCrypt はソルトを自動的に付与するため、同じ文字列でもハッシュ化のたびに異なる値が生成されます。
  • ラウンド数(コストファクター)を増やすと計算コストが上がり、総当たり攻撃への耐性が高まります。一般的に 10〜12 が推奨値です。
  • PHP では password_hash($password, PASSWORD_BCRYPT)、Ruby では bcrypt-ruby gem で同等のハッシュを生成できます。
  • ハッシュ値の先頭 $2y$ はアルゴリズム識別子、その後の数字がラウンド数を表します。
  • より新しい Argon2(PHP 7.2 以降対応)もパスワード保存に適したアルゴリズムとして検討してください。

余談ですが ― パスワードとハッシュの攻防 ― なぜBCryptが選ばれるのか

2012年のLinkedIn漏洩事件では、約650万件のパスワードが ソルトなしのSHA-1 のみで保存されており、レインボーテーブル攻撃によって数日で大半が解読されてしまいました。この事件はパスワード保存の設計に大きな警鐘を鳴らしました。

現代の高性能GPU(NVIDIA RTX 4090)はMD5を毎秒約680億回計算できます。BCryptは意図的に計算コストを高く設計しており、ラウンド数12の設定では毎秒数千回程度に抑えられるため、総当たり攻撃への耐性が格段に高くなります。同じ計算能力でも、MD5なら秒間680億回試せるところをBCryptなら数千回しか試せない ― この差が重要です。

BCryptはもともと1999年にOpenBSD向けに設計されたアルゴリズムです。20年以上経った現在でも現役で使われており、新しい Argon2(PHP 7.2以降で対応)と並んでパスワード保存の標準的な選択肢となっています。