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

開発者ツール

bcrypt生成ツールは、パスワードをbcryptアルゴリズム(ランダムなsaltと調整可能なcost係数)でハッシュ化し、パスワードが指定したハッシュと一致するかを検証する開発者向けツールです。

AI支援翻訳をレビュー中

このページはAIの支援で翻訳され、まだ専門家によるレビューを完了していません。重要な判断の前に、引用元をご確認ください。

概要

bcryptは、Blowfish暗号を基に1999年に設計されたパスワードハッシュ関数で、総当たり攻撃のコストを高めるために意図的に遅くしてあります。cost係数が1増えるごとに計算量は2倍になり、各ハッシュにはランダムなsaltが埋め込まれるため、同じパスワードでも毎回異なるハッシュになります。このツールはbcryptjsライブラリをブラウザ内で実行するので、パスワードがデバイスの外に出ることはありません。開発中のテストアカウントのハッシュ生成や、データベースに保存されたハッシュの確認に使ってください。

bcrypt = EksBlowfish(cost, salt, password) — 形式 $2b$[cost]$[22文字のsalt][31文字のhash]、反復回数 = 2^cost

使い方

  1. 1生成モードでは、パスワードとcost(ラウンド数)を選んでハッシュを作成します。
  2. 2検証モードでは、パスワードと既存のbcryptハッシュを入力します。
  3. 3生成されたハッシュをコピーするか、一致結果を確認します。

参照表

bcryptハッシュ生成・検証ツール 参照表
部分意味
$2b$アルゴリズム識別子(bcryptの最新版)
10$cost — 反復回数 2^10 = 1,024回
次の22文字128ビットのランダムなsalt(base64エンコード)
最後の31文字184ビットのハッシュ出力(チェックサム)

出典・基準

よくある質問

入力したパスワードはサーバーに送信されますか?

いいえ。bcryptjsライブラリはブラウザ内で実行されるため、ハッシュ化も検証もローカルで処理されます。パスワードとハッシュが送信・保存されることはありません。それでも、共有端末や画面共有中に本番用のパスワードを入力するのは避けてください。

同じパスワードなのに毎回ハッシュが違うのはなぜですか?

ハッシュごとに新しいランダムなsaltが生成され、埋め込まれるためです。検証時はハッシュ文字列内に保存されたsaltを再利用するので、どのハッシュでも正しく比較できます。

cost(ラウンド数)はいくつにすべきですか?

一般的には10〜12が推奨されます。1増えるごとに時間が2倍になるため、サーバーのハードウェアでハッシュ1回あたり約100〜300msになるように調整するとよいでしょう。

パスワードの長さに制限はありますか?

bcryptは入力の最初の72バイトのみを使い、超過分は黙って無視します。このツールはUTF-8で72バイトを超えるパスワードの場合に警告を表示します。

関連ツール