使い方
- 「ハッシュを生成」でパスワードを入力し、スライダーでコストを設定して「ハッシュを生成」をクリックします。
- ハッシュをコピーします。毎回新しいランダムソルトを使うため、同じパスワードでも生成結果は毎回異なります。
- 確認する場合は右側に bcrypt ハッシュを貼り付け、パスワードを入力します。一致するか結果が表示されます。
オプションの説明
- コストファクター
- 4〜15、既定値は 10 です。計算量は 2 のコスト乗なので、1 段階上がるごとに時間が 2 倍になります。ブラウザでの処理時間も目安として表示します。
- バージョンプレフィックス
- 新しく生成するハッシュは $2b$ で始まります。確認では $2a$、$2b$、PHP の password_hash が作る $2y$ をそのまま使えます。
- 72 バイト制限
- bcrypt はパスワードの最初の 72 バイトだけを使います。UTF-8 では文字によって 2〜4 バイトになるため、長いパスワードには警告を表示し、残りは無視します。
ハッシュの構造
$2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
2b:アルゴリズムのバージョン10:コストファクター、2¹⁰ = 1,024 ラウンドN9qo8uLOickgx2ZMRZoMye:22 文字のソルト- 残りの 31 文字:ハッシュ
よくある質問
同じパスワードなのに毎回ハッシュが違うのはなぜですか?
bcrypt はハッシュごとに 16 バイトのランダムなソルトを生成し、コストの後の 22 文字としてハッシュ内に保存します。確認時はハッシュからソルトを取り出して再計算するため、どの結果でも検証できます。
bcrypt は復号できますか?
いいえ。bcrypt は一方向ハッシュなので、候補のパスワードをハッシュ化して比較する方法でしか確認できません。bcrypt を「復号」できるとうたうサイトは、よくあるパスワードを順番に試しているだけです。
どのコストファクターを使えばよいですか?
サーバーで 1 回のハッシュに約 100 ms かかる値にするのが一般的で、現在は通常 10〜12 です。低すぎると総当たり攻撃に弱くなり、高すぎるとログインとサーバーの負荷が増えます。
MD5 や SHA-256 とどう違いますか?
MD5 と SHA-256 は高速に計算するためのものなので、1 台の GPU で毎秒何十億回も試せて、パスワード保存だけには向きません。bcrypt は意図的に遅く、ソルトも組み込まれたパスワード保存用の方式です。
パスワードはアップロードされますか?
いいえ。ハッシュ化と確認はブラウザの JavaScript で行われ、オフラインでも動作します。
プライバシー
このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。