セキュリティ / パスワード

bcryptハッシュの生成・チェック

指定したコストでbcryptパスワードハッシュを生成するか、パスワードが既存のハッシュと一致するかを、すべてブラウザ上で確認できます。

bcryptハッシュの生成・チェック: Niels ProvosとDavid Mazièresが1999年に設計したbcryptは、ランダムな16バイトのソルトを使い、Blowfishのキースケジュールを2^cost回実行します。そのため、攻撃者がパスワードを1つ推測するたびに、同じ時間のかかる処理が必要になります。結果にはバージョン、コスト、ソルト、ハッシュが1つの60文字の文字列として含まれます。この実装は、Unicodeや長すぎるパスワードを含め、Python bcryptパッケージとの照合によって確認済みです。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
bcrypt生成ツールローカル処理

完全にブラウザ内で実行します

すべての処理はこのブラウザ内で行われ、パスワードとハッシュが外部に送信されることはありません。ほとんどのログインにはコスト10–12が適しています。1段階上げるごとに処理時間は2倍になります。

パスワードを安全に保存する

パスワードを平文で保存したり、グラフィックカードで毎秒数十億回も試行できるMD5やSHA-256のような高速なハッシュを使ったりしないでください。bcrypt、scrypt、Argon2は意図的に処理が遅く、ソルトも付加されるため、データベースを盗まれても解析がはるかに困難です。

Webサーバーのログイン用には、htpasswdジェネレーターでユーザー行全体を作成できます。パスワード自体を作成するには、パスワードジェネレーターを使用してください。

bcryptハッシュを読み解く

$2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUWでは、2bがバージョン、12がコスト、続く22文字がソルト、最後の31文字がハッシュです。ソルトとコストはハッシュとともに保存されるため、サーバーは古いパスワードを使えなくすることなく、新しいパスワードのコストを引き上げられます。

使い方

  1. パスワードを入力してコストを選びます。多くのサイトでは10〜12が適しています。
  2. ハッシュを生成し、データベースや設定にコピーします。
  3. 保存済みのハッシュを確認するには、チェックに切り替えてハッシュを貼り付け、パスワードを入力します。

プライバシーと制限事項

パスワードとハッシュはブラウザ内にとどまり、サーバーには送信されません。

関連ツール

よくある質問

どのコストを使えばよいですか?

ログイン1回ごとにサーバーが処理できる範囲で、できるだけ高い値を使います。通常は10〜12で、OWASPは少なくとも10を推奨しています。値を1増やすと処理時間は2倍になるため、ここに表示される時間を最も遅いサーバーで確認してください。

$2a$、$2b$、$2y$の違いは何ですか?

通常のパスワードは、どれも同じようにハッシュ化されます。$2b$はOpenBSDが2014年に行った非常に長いパスワードに関する修正を示し、$2y$は別の実装にあったバグをPHPが2011年に修正したことを示します。PHPとApacheのhtpasswdは$2y$を書き込み、その他の多くのライブラリは$2b$を書き込みます。

長いパスワードが先頭部分だけで受け入れられるのはなぜですか?

bcryptが使用するのは最初の72バイトだけで、多くのライブラリはそれを超える部分を警告なしに切り捨てます。このツールでは、そのような場合に警告を表示します。英語以外の文字は、1文字あたり2〜4バイトを使用します。

無料ツール · ブラウザ内で · アカウント不要