作業フローを簡素化:miniwebtoolを検索。
追加
関連ツール
Argon2ハッシュジェネレーターFNV-1a ハッシュジェネレーターSHA256 ハッシュジェネレーターWhirlpool ハッシュ生成器
ホームページ > ハッシュとチェックサム > bcryptハッシュ生成・検証ツール
 

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

設定可能なコスト係数(ラウンド4-15)でbcryptパスワードハッシュを生成し、プレーンテキストのパスワードが既存のbcryptハッシュと一致するか検証します。ハッシュ構造の分析、リアルタイムセキュリティメーター、コスト対速度の推定、およびバリアント($2a$、$2b$、$2y$)の解説機能が含まれています。

bcryptハッシュ生成・検証ツール
💡 クイックサンプル — クリックしてフォームを入力
UTF-8 · 最大 72 バイト
0 / 72 バイト
bcrypt の制限
コスト要素 (計算回数)
12 ~ 250 ms
4567 891011 12131415
セキュリティ強度: 非常に強力
60 文字 · $2a/$2b/$2x/$2y で開始

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

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

bcryptハッシュ生成・検証ツールへようこそ。この無料オンラインツールでは、設定可能なコスト要素を使用して、暗号的に安全な bcrypt パスワードハッシュを生成したり、プレーンテキストのパスワードが既存の bcrypt ハッシュと一致するか検証したりできます。データベースへのシード作成、ログインフローのデバッグ、システム間でのユーザー移行、あるいは適応型パスワードハッシュについての学習など、どのような用途でも即座に結果を表示し、さらに bcrypt の 60 文字のハッシュ形式がどのように構成されているかを視覚的に分解して解説します。

bcrypt とは何ですか?なぜ使用するのですか?

bcrypt は Blowfish 暗号に基づいた適応型パスワードハッシュ関数で、1999年に Niels Provos と David Mazières によって設計されました。SHA-256 や MD5 などの高速な暗号ハッシュとは異なり、bcrypt は意図的に低速に作られており、ハードウェアの進化に合わせて調整可能なコスト要素(計算量)が含まれています。すべての bcrypt ハッシュには一意のランダムなソルトが組み込まれており、攻撃者が計算済みのレインボーテーブルを使用することを防ぎます。OWASP は、現代のウェブアプリケーションでユーザーの資格情報を保存するための許容可能な 4 つのパスワードハッシュアルゴリズムの 1 つとして bcrypt を推奨しています。

コスト要素:bcrypt セキュリティの核心

コスト要素(ワークファクターラウンド数とも呼ばれます)は、ハッシュの計算負荷を制御します。これは対数的であり、+1 ごとに作業量は 2 倍になります。コスト 12 は一般的な現代の CPU で約 250 ミリ秒かかり、コスト 14 は約 1 秒かかります。以下の表は、各コストレベルの推定計算時間を示しています。ログインフローに十分な速さでありながら、攻撃者を阻止するのに十分な遅さの値を選択してください。

コスト 計算回数 推定時間 強度 推奨用途
4 2^4 < 1 ms 危険 テスト専用 — 本番不可
5 2^5 2 ms 危険 テスト専用 — 本番不可
6 2^6 4 ms 危険 テスト専用 — 本番不可
7 2^7 8 ms 危険 テスト専用 — 本番不可
8 2^8 16 ms 弱い レガシーシステム
9 2^9 31 ms 普通 レガシーシステム
10 2^10 62 ms 良好 本番環境の最小値
11 2^11 125 ms 強い 本番環境の最小値
12 2^12 250 ms 非常に強い 推奨デフォルト
13 2^13 500 ms 極めて強い 高セキュリティアプリ
14 2^14 1.00 秒 最大 最大強度
15 2^15 2.00 秒 最大 最大強度

bcrypt ハッシュの構造 (Anatomy)

すべての bcrypt ハッシュは正確に 60 文字の長さで、固定の構造に従います。各セグメントを理解することで、ログインの問題のデバッグやシステム間でのハッシュの移行がはるかに容易になります。

$2b$12$7i..qTPY7p4ZLvKIepRKwelX0JB55DviohJT.JYruzy4EN6cl.q8O   $2b$ → アルゴリズムのバリアント
  $12$ → コスト要素 (2^12 = 4096 回の計算)
  7i..qTPY7p4ZLvKIepRKwe → 22 文字の Base64 ソルト
  lX0JB55DviohJT.JYruzy4EN6cl.q8O → 31 文字のハッシュ化されたダイジェスト

ソルトとダイジェストのエンコーディング

bcrypt は、標準の Base64 に似ていますが、+/ の代わりに ./ を使用し、パディングを使用しない独自の Base64 アルファベットを使用します。これは純粋に歴史的な理由によるもので、セキュリティには影響しません。ソルトは 16 バイトのランダムデータで 22 文字の Base64 文字としてエンコードされ、ダイジェストは 23 バイトで 31 文字としてエンコードされます。

bcrypt バリアントの解説

bcrypt にはいくつかの接頭辞が存在します。これらはすべて同じ構造のハッシュを生成しますが、起源が異なります。

$2a$
オリジナルの bcrypt 改訂版で、レガシーシステムで広く普及しており、古いライブラリでもまだ生成されます。検証において $2b$ と互換性があります。
$2b$
現代のリファレンス実装です。255 バイトを超えるパスワードでのラップアラウンドバグを修正しました。新しいハッシュにはこれを使用してください。
$2x$
2011 年の符号拡張バグに対する PHP の緊急修正です。バグのある実装で生成されたハッシュをマークし、移行できるようにします。
$2y$
2011 年のバグ後の PHP 固有の修正バージョンです。ASCII パスワードについては機能的に $2b$ と同一です。

ツールの使い方

  1. モードを選択:新しい bcrypt ハッシュを作成するには「ハッシュ生成」を選択し、パスワードが既存のハッシュと一致するか確認するには「ハッシュ検証」を選択します。
  2. パスワードを入力:入力フィールドにプレーンテキストのパスワードを入力します。バイトメーターは、パスワードが bcrypt の 72 バイト制限に近づくと警告を表示します。
  3. コスト要素を設定:生成モードでは、スライダーをドラッグして 4 から 15 の間でコスト要素を選択します。推定計算時間とセキュリティ評価がリアルタイムで更新されます。
  4. 検証するハッシュを貼り付け:検証モードでは、$2a$$2b$$2x$、または $2y$ で始まる既存の 60 文字の bcrypt ハッシュを貼り付けます。
  5. 実行して結果を確認:アクションボタンをクリックします。生成モードでは色分けされた構造分解とともにハッシュが表示され、検証モードでは元のコスト要素とともに大きな「MATCH(一致)」または「NO MATCH(不一致)」のインジケーターが表示されます。

72 バイトのパスワード制限

bcrypt は Blowfish のキーセットアップフェーズに基づいて構築されており、パスワードの最初の 72 バイトのみを消費します。72 バイトを超えるパスワードは、古いライブラリでは暗黙的に切り捨てられ、新しいライブラリでは完全に拒否されます。文字数ではなくバイト数が重要であることに注意してください。たとえば、1 つの絵文字は 4 バイトであり、ほとんどの非 ASCII 文字は UTF-8 で 2〜4 バイトを消費します。アプリケーションで任意の長さのパスワードを受け入れる場合、標準的な対策は、bcrypt に渡す前にパスワードを SHA-256 でプリハッシュし、ダイジェストを Base64 エンコードすることです。これにより、制限内に収まる固定 44 バイトの入力が生成されます。

bcrypt vs Argon2 vs scrypt の選択

OWASP と IETF (RFC 9106) による現代のパスワードハッシュの推奨事項では、Argon2id (新しいアプリに推奨)、bcrypt、scrypt、PBKDF2 の 4 つの許容可能なアルゴリズムが挙げられています。以下の場合に bcrypt を選択してください:

  • 幅広い互換性が必要な場合 — すべての主要な言語に成熟した bcrypt ライブラリがあります。
  • すでに bcrypt を使用している既存のシステムで作業している場合。
  • 25 年以上の暗号解読に耐えてきた実績のあるアルゴリズムを求める場合。
  • メモリハードハッシュ (Argon2id, scrypt) が環境的に実用的でない場合。

互換性の制約がない新しいシステムを構築する場合は、Argon2id を選択してください。これは Password Hashing Competition の勝者であり、bcrypt では対抗できない GPU や FPGA による攻撃に対する耐性を提供します。

実用的なユースケース

開発者向け

  • 完全な登録フローを実行せずに、開発用データベースにリアルなテストユーザーをシードする。
  • ログインパスをテストする統合テスト用のフィクスチャデータを生成する。
  • ユーザーが報告したパスワードに対して本番環境のハッシュを検証し、ログイン失敗をデバッグする。
  • 次回のログイン時に再ハッシュすることで、レガシーな $2a$ ハッシュを $2b$ に移行する。
  • 実際の計算時間を測定して、本番環境のコスト要素を調整する。

セキュリティエンジニア向け

  • サードパーティの認証サービスが、主張どおりのコスト要素でハッシュを生成しているか検証する。
  • 本番サンプルのハッシュバリアントとコストを検査して、パスワードの保存状態を監査する。
  • bcrypt の構造がいかにレインボーテーブルに強いかを示すトレーニング資料を作成する。

学習者向け

  • 同じパスワードを 2 回生成して、ソルトによって異なるハッシュが生成される様子を確認する。
  • 異なるコスト要素を試して、計算量が倍増する効果を直接体験する。
  • 既知のハッシュを検証して、bcrypt が候補をハッシュ化する前にどのようにコストとソルトを抽出するかを理解する。

よくある質問

bcrypt にはどのコスト要素を使用すべきですか?

OWASP は現在、少なくとも 10 のコスト要素を推奨しています。12 は、一般的なサーバーで約 250 ミリ秒かかる現代的なデフォルトとして適しています。コストは対数的であるため、+1 ごとに作業量は 2 倍になります。コスト 14 は高セキュリティのアプリケーションに適しており、コスト 15 は対話型ログインの実用的な最大値です。本番環境で 10 未満のコストを使用しないでください。

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

これら 4 つはすべて bcrypt のバリアントであり、接頭辞によって区別されます。$2a$ は最初の改訂版です。$2x$ と $2y$ は 2011 年に発見された符号拡張のバグに対する PHP の緊急修正です。$2b$ は長いパスワードでのラップアラウンドバグを修正した現代のリファレンス実装です。どのバリアントで生成されたハッシュも検証可能です。現代のライブラリはデフォルトで $2b$ を生成するため、新しいハッシュにはこれを使用することをお勧めします。

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

フォームは HTTPS 経由でサーバーサイドで処理され bcrypt 計算が行われますが、パスワードも結果のハッシュもログに記録されたり保存されたりすることはありません。各リクエストは処理後に破棄されます。テスト用パスワードについて完全に慎重になりたい場合は、実際の本番用パスワードをオンラインツールに貼り付けないでください。このツールは使い捨てのテスト用パスワード、またはローカルの開発環境で使用してください。

なぜ bcrypt には 72 バイトのパスワード制限があるのですか?

bcrypt は Blowfish のキーセットアップフェーズに基づいて構築されており、入力の最初の 72 バイトのみを消費します。72 バイトを超えるパスワードは、古いライブラリでは暗黙的に切り捨てられ、新しいライブラリでは拒否されます。任意の長さのパスワードをサポートするには、bcrypt に渡す前に SHA-256 でプリハッシュし、ダイジェストを Base64 エンコードします。このツールはパスワードが制限を超えた場合に警告を表示します。

別の bcrypt ライブラリで生成されたハッシュを検証できますか?

はい。すべての bcrypt 実装は同じワイヤフォーマット ($variant$cost$salt+digest、合計 60 文字) に従い、相互運用可能なハッシュを生成します。Node.js の bcrypt、PHP の password_hash、Python の passlib、Spring Security、またはその他の準拠ライブラリで作成されたハッシュは、バリアント接頭辞が認識される限り、ここで正しく検証されます。

同じパスワードを 2 回生成すると、なぜ異なるハッシュになるのですか?

bcrypt は、すべてのハッシュに対して新しいランダムな 16 バイトのソルトを自動的に生成します。ソルトはアルゴリズムに混合され、出力に埋め込まれるため、同じパスワードの 2 つのハッシュが同一になることは事実上ありません。検証が機能するのは、checkpw が保存されたハッシュからコストとソルトを抽出し、ダイジェストを比較する前に、それらと全く同じパラメータで bcrypt を再実行するためです。

bcrypt ハッシュから元のパスワードを復元できますか?

いいえ。bcrypt は一方向関数であり、復号操作は存在しません。ハッシュから元のパスワードを見つける唯一の方法は、パスワードを推測して、ダイジェストが一致するまで同じコストとソルトで bcrypt を実行することです。これはまさに攻撃者がブルートフォース攻撃中に行うことです。bcrypt の適応型コストの目的は、これらの推測を非常にコストのかかるものにすることにあります。

モバイルデバイスで動作しますか?

はい。インターフェースは完全なレスポンシブ対応で、スマートフォン、タブレット、デスクトップで動作します。モードスイッチ、コストスライダー、結果パネルはすべて狭い画面に適応します。

追加リソース

このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:

"bcryptハッシュ生成・検証ツール"(https://MiniWebtool.com/ja/bcryptハッシュ生成・検証ツール/) MiniWebtool からの引用、https://MiniWebtool.com/

miniwebtool チームによる提供。更新日: 2026年4月26日

ハッシュとチェックサム:

おすすめ:

InstagramユーザーID検索パーセンテージ減少電卓弧長電卓パーセント増加電卓ランダムカラージェネレーター標準偏差電卓 - 高精度パーセント誤差電卓MACアドレス検索シグマ記法電卓 総和円錐展開図テンプレートジェネレーター動画を結合画像分割ツール合計電卓フィートとインチからセンチメートルへのコンバーター英単語ランダム生成ツールエンジェルナンバー電卓動画を逆再生不可視文字除去ツール平方完成電卓番号を並べ替える楕円円周電卓マスターナンバー電卓筆算割り算電卓ランダム絵文字ジェネレーターASCIIコード表ランダム超能力ジェネレーター中央値電卓ai句読点追加ランダム誕生日ジェネレーター太陽位置計算機モジュロ電卓ビンゴカードジェネレーター対数電卓ボウリングスコア計算機CAGR電卓ランダムトーナメント表作成ツールYouTubeチャンネル統計MP3ルーパー売上総利益率電卓動画を回転war電卓相対標準偏差電卓手数料電卓HEXコンバーターランダム日付ジェネレーター関数電卓変化率電卓t検定電卓圧力電卓FPSコンバーターHEX電卓私のIPアドレスは何ですか逆テキスト3d距離電卓fena電卓相関係数計算機加速度電卓小数時間から普通の時間へのコンバーター血糖値コンバーター🖱️ クリックカウンタービデオ速度を調整センチメートルからフィートとインチへのコンバーター分数電卓外れ値電卓比率電卓XMLバリデーター正多角形電卓ボルト締付トルク計算機デシベル (dB) 電卓変動係数電卓BUN対クレアチニン比電卓階段電卓水星逆行カレンダーオーディオ スプリッターマン・ホイットニーのU検定計算機指数電卓-高精度バイナリ電卓オンライン句読点削除ツール分散電卓 高精度桁数電卓熱膨張計算機ランダム名前ジェネレーターランダム時刻ジェネレーター労働時間計算ツール動画から画像抽出ツール土星回帰電卓筆算足し算・引き算計算機💧 露点電卓ANC電卓SRTからTXTへの変換ツール角速度計算機CRC32チェックサム電卓ビデオをループ再生中国剰余定理電卓周波数波長変換ツール画像回転ツール積分電卓空の行を削除するlog-base-2電卓サッカーxg期待ゴール電卓熱伝達計算機角度変換ツール10進数からバイナリへのコンバーターピタゴラスの定理電卓ヘロンの公式計算機10進数からBCDへのコンバーター平均寿命電卓年の日電卓 - 今日は今年の何日目じゃんけんジェネレータートルク電卓🔊 トーンジェネレーターランダム映画ピッカーパスワード強度テスター上下反転テキストジェネレーター文字数による改行迷路ジェネレーターIPアドレスから16進数への変換クロスワードパズルメーカーGIFメーカーエラー関数電卓二乗平均平方根電卓ベーカーズパーセント電卓円錐台電卓魔方陣ジェネレーターコラージュメーカージニ係数電卓ジョルダン標準形電卓中国式性別予測カレンダー車両重量配分計算機音節カウンターhcg倍加時間計算ツール10進数から16進数へのコンバーターランダム座標ジェネレーターパレットジェネレーターランダムクレジットカードジェネレーターYouTubeショート収益化計算ツールカラースキームジェネレーターランダム算数問題ジェネレーター日割り家賃計算行番号を追加タンジェント電卓血液型計算機パーセント成長率電卓三角関数グラフ作成ツール営業利益率電卓VTTからtxtへのコンバーターヒストグラムメーカー割り切れるテスト電卓HTMLからテキストコンバータTikTok収益計算ツールハムスター発電電卓ランダムグループジェネレーター中間日計算機分圧器計算電卓四分位範囲電卓平均電卓-高精度配当利回り電卓並列抵抗電卓平方根電卓沸点計算ツール点つなぎジェネレーター配管流量電卓👙 ブラサイズ電卓太陽・月・上昇星座電卓 🌞🌙✨幾何平均電卓FacebookユーザーID検索FNV-1a ハッシュジェネレーターパーセントからppmへのコンバーター二項係数電卓双曲線関数電卓平方数リストマルコフ連鎖定常分布電卓比率電卓赤ちゃんのミルク量計算BCDからバイナリへのコンバーターインタラクティブ単位円ビジュアライザーケリー基準電卓バーベキュー計算機ビデオ反転ワイヤーゲージ電卓動画圧縮猫カロリー電卓身長パーセンタイル電卓CPM 電卓パラメトリック曲線グラフ作成ツールホームランの打席電卓複数分数電卓エーカーから平方メートルへ換算ランダムPIN生成器ランニングペース電卓停止距離計算機多項式の筆算計算機愛の相性電卓慣性モーメント計算機水泳ペース計算機発音IPA変換ツール直線の方程式電卓部分分数分解電卓SRT 時間シフト 電卓そろばんシミュレーターベール・ランベルトの法則電卓ネルンストの式計算機浸透圧計算機沸点上昇電卓凝固点降下計算パーセント組成計算機規定度計算機質量モル濃度計算機pKa→Ka変換器ヘンダーソン・ハッセルバルヒ電卓理論収量計算機制限反応物計算機電子配置計算機インタラクティブ周期表AI授業計画ジェネレーターAIクイズ作成ツール引用ジェネレーター (APA/MLA/Chicago)出席率計算APスコア計算機ACTスコア計算機SATスコア電卓パーセンテージからCGPA変換器CGPAからパーセンテージへの変換器簡単採点ツール EZ Grader子育て費用計算機おむつサイズ電卓赤ちゃんの名前ジェネレーター赤ちゃんの目の色予測子供のBMIパーセンタイル計算機子供の身長予測ツール体外受精出産予定日電卓着床計算ツールISO 8601 日付フォーマッターユリウス日変換器昼寝電卓月相電卓日の出&日の入り電卓世界時計日付ローマ数字変換電卓退職カウントダウンソブリエティ計算機ハーフバースデー計算機記念日計算機週番号計算機チップ分配計算機メールマーケティングROI電卓リード獲得単価計算機運転資本計算機限界利益計算機FIFO / LIFO 電卓安全在庫計算機発注点計算機経済的発注量EOQ電卓減価償却計算機ハンドメイド価格電卓卸売価格計算機Shopify利益計算機Amazon FBA 電卓eBay手数料計算機Etsy手数料計算機Stripe手数料計算機PayPal手数料計算機ベッティングオッズ変換器什一献金計算機ザカート計算機英国印紙税計算機HRA非課税計算ツールグラチュイティ計算機NPS計算機EPF電卓PPF計算機RD電卓SWP電卓グロスアップ計算機ローン比較電卓クレジット利用率計算ツールCDラダー電卓T-Bill米国短期国債電卓I Bond 電卓529大学積立計算機HSA電卓退職金計算機昇給計算機請求書作成ツール出張日当計算機走行距離手当計算機家賃値上げ計算機家賃適正額計算機乗り出し価格計算ツール車購入可能額計算機バイクローン計算機キャンピングカーローン計算ボートローン電卓土地ローン計算機建設ローン計算機金利のみ住宅ローン計算機バルーンローン計算機住宅ローンポイント計算機PMI電卓隔週住宅ローン返済額計算機ARM住宅ローン電卓VAローン計算機給与手取り計算機AI SQLクエリジェネレーターAI正規表現ジェネレーターAIデータ可視化ツールCSV貼り付けAIテキストトーン分析ツールAI履歴書アナライザーAI単位変換ツール自然言語AI謝罪文ジェネレーターAI 丁寧なお断り文ジェネレーターAI旅行日程ジェネレーターAI読書リストジェネレーターAIワークアウトプランジェネレーターAI献立ジェネレーターAIギフトアイデアジェネレーターAIレシピジェネレーター食材から奨学金ROI電卓大学費用計算機言語学習 流暢になるまでの学習時間電卓単語クイズ作成ツールコーネルノート作成ツール学習曲線電卓フラッシュカード間隔反復スケジューラーペイント色混合計算機タイル目地計算機シックスシグマ工程能力計算機youtubeサムネイルダウンローダーyoutube収益見積もりツールランダムRPGキャラクタージェネレーター