Bcryptハッシュ生成・照合
ブラウザ内でパスワードをbcryptでハッシュ化するか、bcryptハッシュに対してパスワードを照合します。
Bcryptの使い方
- 01
「ハッシュ生成」でハッシュを作成するか、「照合」でハッシュを確認するかを選択します。
- 02
パスワードを入力し、照合時はハッシュも入力します。
- 03
bcryptハッシュまたは照合結果を確認します。
パスワードをハッシュ化して検証する
選択したコストでパスワードをハッシュし、既存の bcrypt ハッシュに対してパスワードを検証する bcrypt ツール。すべてがブラウザ内でローカルに実行されるため、パスワードはデバイス上に残ります。
パスワードに bcrypt を使用する理由
Bcrypt は、パスワードを保存するために特別に設計された適応型パスワード ハッシュ関数です。 SHA-256 などの高速ハッシュとは異なり、意図的に低速であり、保存されたパスワードを保護する場合に必要な組み込みのソルトが含まれています。
コスト要因
コスト要素 (ラウンド) によって、各ハッシュにかかる作業量が決まります。追加ラウンドごとに計算が 2 倍になるため、コストを上げると、大規模なブルート フォース攻撃や GPU 攻撃が大幅に遅くなり、1 回のログインでは十分な速度が維持されます。 10 ~ 12 の値が一般的に選択されます。
ソルトと検証
Bcrypt はすべてのハッシュにランダムなソルトを混合するため、同じパスワードでも毎回異なるハッシュが生成されます。これは、事前に計算されたレインボー テーブルを無効にし、ソルトがハッシュ自体の内部に保存されるため、検証は引き続き機能します。
パスワードをチェックするために、検証モードは保存されているハッシュからソルトとコストを読み取り、候補を同じ方法でハッシュ化して比較します。そのため、元のソルトではなく、ハッシュとパスワードのみが必要になります。
セキュリティメモ
ハッシュと検証はブラウザ内で完全に実行されるため、何もアップロードされません。それでも、実際の運用パスワードを共有コンピュータに貼り付けることは避けてください。
よくある質問
ラウンド数とは何ですか?
コストファクターです。1ラウンド増えるごとにハッシュの計算に必要な処理量が2倍になり、ブルートフォース攻撃が遅くなります。10〜12が一般的な選択です。
同じパスワードでもハッシュが毎回異なるのはなぜですか?
bcryptはすべてのハッシュにランダムなソルトを含むため、同じパスワードでも出力が異なります。ソルトはハッシュ内に保存されているため、照合は正しく機能します。
安全に使えますか?
ハッシュ化はブラウザ内で完結するため、パスワードはアップロードされません。ただし、共有コンピューターでは本番環境の実際のパスワードを貼り付けないでください。