ZeroTool Workbench
Bcrypt ジェネレーター
ブラウザでbcryptパスワードハッシュを生成・検証。コストファクター調整可能(4–14)、Web Worker使用でUI応答性維持。パスワードはデバイスを離れません。
使い方
生成モード
- パスワードフィールドに平文パスワードを入力します。
- コストファクタースライダーを調整します(デフォルト:12)。推定処理時間がリアルタイムで更新されます。
- ハッシュ生成をクリックします。Web Workerが計算中もUIは応答性を維持します。
- コピーをクリックしてハッシュをクリップボードにコピーします。
検証モード
- 検証タブに切り替えます。
- 平文パスワードと保存済みbcryptハッシュを入力します。
- 検証をクリックします。結果に一致または不一致が表示されます。
コストファクター参考表
| コスト | 推定時間 | 用途 |
|---|---|---|
| 10 | ~60 ms | 高トラフィックAPI、レガシーシステム |
| 12 | ~250 ms | Webアプリの推奨デフォルト |
| 13 | ~500 ms | 高セキュリティ・中程度のトラフィック |
| 14 | ~1 s | 高セキュリティコンテキスト |
セキュリティノート
- パスワードにMD5、SHA-1、またはソルトなしSHA-256を使用しないでください。高速すぎてレインボーテーブル攻撃に脆弱です。
- bcryptハッシュにはコストファクターが含まれるため、新規登録のコストを上げても保存済みハッシュは引き続き検証できます。
- このツールはbcryptjsライブラリを使用しています。すべてのbcrypt実装と互換性のある純粋なJavaScriptポートです。
FAQ
bcryptとは何ですか?どんな場合に使いますか?
bcryptは意図的に低速・高コストに設計されたパスワードハッシュ関数で、ブルートフォース攻撃を非現実的にします。データベースにユーザーパスワードを保存する際に使用してください。MD5やSHA等の高速ハッシュは絶対に使わないでください。
コストファクター(ラウンド数)は何を制御しますか?
コストファクターはキー導出関数の反復回数を決定します。1増えるごとに計算時間が2倍になります。コスト12(約250ms)がほとんどのWebアプリの推奨デフォルト値です。
高コストファクターでハッシュ生成に数秒かかるのはなぜですか?
意図的な設計です。bcryptは低速になるよう設計されています。あなたにとってコストがかかる計算は、攻撃者にとっても同様にコストがかかります。Web Workerがバックグラウンドで計算するため、ブラウザUIは応答性を維持します。
パスワードはサーバーに送信されますか?
いいえ。すべてのハッシュ計算と検証はbcryptjsライブラリを使ってブラウザ内で完結します。ネットワーク通信は一切行いません。
同じパスワードを生成するたびに異なるハッシュが生成されるのはなぜですか?
bcryptはランダムなソルトをハッシュに埋め込みます。生成のたびに一意のソルトが生成されるため、2つのハッシュは見た目が異なりますが、両方とも元のパスワードで正しく検証されます。
有効なbcryptハッシュ形式は何ですか?
bcryptハッシュは$2b$(または旧バリアントの$2a$/$2x$/$2y$)で始まり、コストファクターとソルト+ハッシュの53文字が続きます。例:$2b$12$...