本文へスキップ
にゃんこツール

bcryptハッシュ生成・照合

パスワードをbcryptでハッシュ化し、保存済みのハッシュと一致するかを確認できます。ブラウザ内で処理され、パスワードやハッシュがサーバーに送信されることはありません。SHA-256などの単純なハッシュは ハッシュ生成 をご利用ください。

🔒 ブラウザ内で完結・入力データはサーバーに送信されません

ハッシュを生成

値が1増えると計算時間が約2倍になります。12以上は数秒かかることがあります。

ハッシュを照合

注意事項

  • bcryptはパスワードの先頭72バイトまでしか使いません。日本語は1文字3バイトなので、24文字を超えると切り捨てられます。このツールでは72バイトを超える入力は生成できません。
  • ソルトは生成のたびにランダムに作られるため、同じパスワードでも毎回違うハッシュになります。一致の確認は「照合」で行ってください。
  • コストを上げるほど総当たり攻撃に強くなりますが、ログイン時の計算も重くなります。目安として、本番では10〜12程度が使われます。
  • 本番で使っているパスワードの入力は避け、テスト用の値で試すことをおすすめします。入力内容は保存・送信されませんが、画面共有などにご注意ください。

用語解説

bcrypt

パスワード保存用に設計されたハッシュ関数です。意図的に計算を遅くすることで、総当たり攻撃のコストを高めます。

コスト(ラウンド数)

計算の重さを決める値で、2のコスト乗回の繰り返しを行います。コスト10なら1024回、12なら4096回です。

ソルト

ハッシュ化のたびに加えるランダムな値です。bcryptではハッシュ文字列の中に含まれるため、別途保存する必要はありません。

よくある質問

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

bcryptは生成のたびにランダムなソルトを加えるためです。これは正常な動作で、ハッシュ同士を比べても一致は分かりません。保存済みのハッシュとの一致は、このツールの「ハッシュを照合」(内部でソルトを取り出して再計算)で確認してください。

コストはいくつにすればよいですか?

値が1増えるごとに計算時間が約2倍になります。ログイン処理が重くなりすぎず、総当たりには十分遅い値として、現在は10〜12程度がよく使われます。サーバーの性能に合わせて、1回あたり100〜500ミリ秒程度になる値を目安に選んでください。このツールではブラウザで動かすため4〜14に制限しています。

長いパスワードや日本語のパスワードで注意することはありますか?

bcryptは先頭72バイトまでしか使いません。日本語は1文字3バイト、絵文字は4バイトなので、日本語だけなら24文字を超えた部分は無視されます。このツールは72バイトを超える入力をエラーにします。長いパスワードを扱う場合は、先にSHA-256などでハッシュ化してから渡す方法がありますが、実装を揃える必要があります。

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

実装上のバージョン表記の違いで、現在の仕様では同じ計算結果になります。このツールは$2a$・$2b$・$2y$のハッシュを照合でき、生成時は$2b$形式のハッシュを出力します。

このページをシェア

↑↓ 選択 Enter 開く Esc 閉じる