UTILS.
100% ブラウザ内で完結
🔐

Bcrypt ハッシュ生成・検証ツール

選択可能なコストファクターでbcryptパスワードハッシュを生成するか、平文パスワードを既存の $2b$ ハッシュと照合します。すべてブラウザ内で実行。

パスワードは100%ブラウザ内でハッシュ化されます——何もアップロードされません。

— ここに結果が表示されます —

このツールについて

Bcrypt ハッシュ生成・検証ツールは、パスワードをサーバーに一切送信することなくbcryptパスワードハッシュを生成・検証します。1999年にProvosとMazièresが設計したbcryptは、Eksblowfishのキースケジュールを適応的なワークファクターで包みます:コストパラメーターは2^cost回のキーセットアップラウンドを設定するため、コストを上げると攻撃者にとってあらゆる推測が指数的に遅くなる一方、正当な1回のログインでは安価なままです。生成モードはブラウザのcrypto.getRandomValuesから16バイトのランダムなソルトを読み、選んだコストでEksblowfishのセットアップを実行し、192ビットの "OrpheanBeholderScryDoubt" 定数を64回暗号化し、標準のModular Crypt Format文字列 $2b$NN$ + 22文字のbase64ソルト + 31文字のbase64ダイジェストを出力します。

アルゴリズムはローカルに読み込まれたeval不使用のbcryptのWebAssemblyビルドとして実行されるため、何もアップロードされず、いったん読み込めばオフラインでも動作します。bcryptはパスワードの最初の72バイトのみを考慮します——入力がその制限を超えるとツールが警告するため、無言の切り捨てに驚かされることはありません。コストファクターは4〜16から選択可能(デフォルト10)で、各ステップで作業が倍増するため、12は10より4倍遅くなります。

検証モードは既存のハッシュから $2b$/$2a$/$2y$ プレフィックス、2桁のコスト、埋め込まれたソルトを解析し、候補パスワードでダイジェストを再計算して、一致か不一致かを報告します。ソルトとコストはハッシュ文字列自体に含まれるため、ログインを確認するにはパスワードと保存されたハッシュだけが必要です。すべてがページ内で計算されます——パスワードは100%ブラウザ内でハッシュ化され、何もアップロードされません。

よくある質問

どのコストファクターを選ぶべきですか?
コストは2^cost回のキーセットアップラウンドを設定します。10(デフォルト)は一般的な基準で、12は4倍遅く、対話型ログインに適した現代的な選択です。コストが高いほどブルートフォースへの耐性が上がりますが計算に時間がかかるため、各ログインが許容できる遅延とセキュリティのバランスを取ってください。
なぜ長いパスワードが切り捨てられるのですか?
bcryptは設計上、入力の最初の72バイトのみをハッシュ化します——それを超えるバイトは無視されます。パスワードが72 UTF-8バイトを超えるとツールが警告するため、末尾がハッシュに寄与していないことがわかります。より長い秘密には、bcryptの前にSHA-256で事前ハッシュしてください。
$2a$ や $2y$ で始まるハッシュを検証できますか?
はい。検証モードは $2a$、$2b$、$2y$ のプレフィックスを受け付け、これらは同じアルゴリズムの互換的なバリアントです。ハッシュからコストとソルトを読み、パスワードで再計算して、一致するかどうかを報告します。
パスワードはどこかに送信されますか?
いいえ。ハッシュ化と検証はローカルのbcryptのWebAssemblyビルドを介して完全にブラウザ内で実行されます。パスワード、ソルト、ハッシュはデバイスを離れないため、実際の認証情報をオフラインで安全にテストできます。

その他のツール