作業フローを簡素化:miniwebtoolを検索。
追加
> 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//) MiniWebtool からの引用、https://MiniWebtool.com/

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

おすすめ:

標準偏差電卓 - 高精度パーセント増加電卓ランダム誕生日ジェネレーターパーセンテージ減少電卓合計電卓war電卓ランダムカラージェネレーター対数電卓売上総利益率電卓英単語ランダム生成ツール弧長電卓パーセント誤差電卓中央値電卓番号を並べ替えるHEX電卓分散電卓 高精度MACアドレス検索画像分割ツール手数料電卓円錐展開図テンプレートジェネレーターai句読点追加log-base-2電卓フィートとインチからセンチメートルへのコンバーター相対標準偏差電卓ランダム名前ジェネレーターMP3ルーパー動画を逆再生動画を結合関数グラフ作成ツール筆算割り算電卓ASCIIコード表楕円円周電卓逆テキストマン・ホイットニーのU検定計算機t検定電卓血糖値コンバーターCAGR電卓アナグラム生成器YouTubeチャンネル統計指数電卓-高精度小数時間から普通の時間へのコンバーターパーセントから小数へのコンバーターセンチメートルからフィートとインチへのコンバーターランダム絵文字ジェネレーターランダム国ジェネレーターランダムトーナメント表作成ツール比率電卓労働時間計算ツール配当利回り電卓圧力電卓デシベル (dB) 電卓階段電卓IPサブネット電卓💧 露点電卓上下反転テキストジェネレーター土星回帰電卓正多角形電卓並列抵抗電卓平均電卓-高精度斜辺電卓fena電卓動画を回転ランダム超能力ジェネレータークロスワードパズルメーカーランダム日付ジェネレーター桁数電卓相関係数計算機平方根電卓トルク電卓変化率電卓直角三角形電卓XMLバリデーターシグマ記法電卓 総和半減期電卓変動係数電卓表面積電卓自然対数電卓平方完成電卓分数電卓空の行を削除する年の日電卓 - 今日は今年の何日目InstagramユーザーID検索比率電卓モジュロ電卓多項式展開電卓FPSコンバーター歩数距離変換電卓迷路ジェネレーターSRTからTXTへの変換ツールノノグラムジェネレーター (ピクロス)ボウリングスコア計算機CMYKからHEXへの変換ツールコラッツ予想電卓二項定理展開電卓csvからsrtへビンゴカードジェネレーター論理ゲートシミュレーター画像回転ツール密度電卓ZalgoテキストジェネレーターGitコマンド生成ツールカラーコード変換器全形式bcryptハッシュ生成・検証ツールJWTジェネレーターCSS Grid生成ツール数値積分電卓z変換電卓高速フーリエ変換FFT電卓テンソル積電卓行列指数関数電卓ジョルダン標準形電卓環と体の電卓群論の位数電卓常微分方程式系ソルバーベルヌーイ方程式ソルバーオイラー法電卓方向場・傾き場プロッター二階常微分方程式ソルバー一階常微分方程式ソルバー安定結婚問題ソルバーネットワークフロー電卓最大フロー平面グラフ判定ハミルトン路チェッカー巡回セールスマン問題ソルバー TSP線形計画法ソルバー包除原理電卓漸化式ソルバー隣接行列電卓トポロジカルソート電卓グラフ彩色電卓カルノー図 (K-Map) ソルバーブール代数簡略化ツール分割数電卓デジタルルート電卓フィボナッチ数チェッカーエジプト分数電卓メビウス関数電卓ゴールドバッハ予想検証ツールメルセンヌ素数チェッカー双子素数ファインダー友愛数チェッカー完全数チェッカーモジュラー冪乗計算機重複順列電卓効果量電卓相対リスク電卓オッズ比電卓分割表電卓フィッシャーの正確確率検定電卓スピアマン順位相関係数計算機ベータ分布電卓ワイブル分布電卓指数分布電卓幾何分布電卓負の二項分布電卓超幾何分布電卓F検定・F分布電卓ベイズの定理電卓固有多項式計算機行列べき乗電卓コレスキー分解電卓QR分解電卓行列対角化電卓クラメルの公式電卓列空間電卓零空間電卓ベクトル間の角度電卓単位ベクトル電卓ベクトルの大きさ電卓外積電卓内積電卓行列の掛け算電卓逆行列電卓RREF計算機行簡約階段形ニュートン法電卓ヤコビ行列電卓面積分電卓線積分計算機回転カール電卓発散計算機勾配計算機多変数最適化電卓微積分関連変化率ソルバー瞬間変化率電卓平均変化率計算機無限級数和電卓級数収束判定電卓べき級数電卓マクローリン級数電卓ロピタルの定理計算機広義積分電卓シンプソン則電卓台形公式電卓リーマン和電卓パラメトリック曲線グラフ作成ツール回転体の表面積計算機回転体の体積電卓座標幾何距離計算機ヘロンの公式計算機円の接線電卓角の二等分線電卓内接円インサークル電卓外接円電卓大圏距離計算機3d距離電卓トーラス電卓円錐台電卓不規則多角形面積電卓円錐曲線識別ツール双曲線電卓放物線電卓パスカルの三角形ジェネレーター積の記号電卓 (Π パイ記法)有理根定理 電卓デカルトの符号法則電卓平行線と垂直線の電卓直線の方程式電卓標準形から傾き切片形への変換点傾き形式電卓非線形連立方程式ソルバー有理方程式ソルバー文字式方程式ソルバー三角方程式ソルバー指数方程式ソルバー対数方程式ソルバー四次方程式計算機三次方程式ソルバー概算電卓数値から分数への変換器スキップカウントジェネレーター単価電卓天井関数と床関数 電卓絶対値電卓数列パターン検出ツール位取り表ジェネレーター演算の順序電卓PEMDAS筆算足し算・引き算計算機筆算かけ算計算機九九表ジェネレーター🎮 ゲーム内通貨変換器🎲 ドロップ確率電卓🎰 ガチャ天井計算機⚔️ DPS電卓🎮 ゲーム感度変換器❄️ 雪の日計算機🚚 引っ越し費用見積もり🔍 盗作チェッカー📷 OCR / 画像からテキスト抽出📈 折れ線グラフ作成ツール🥧 円グラフ作成ツール📊 棒グラフ作成ツール🔊 トーンジェネレーター🖱️ クリックカウンターオンラインメモ帳⬛ アスペクト比電卓🌍 カーボンフットプリント電卓👙 ブラサイズ電卓タイヤサイズ電卓燃料費電卓🌡️ 暑さ指数電卓🌬️ 体感温度電卓⏰ オンラインアラーム時計⏰ タイムカード電卓📅 日付差分電卓🕐 ミリタリータイム変換器⏱️ 時間計算機⏱️ オンラインストップウォッチ⏱️ カウントダウンタイマー🌐 タイムゾーン変換器カーペット計算機擁壁電卓HVAC容量計算電卓断熱材電卓ペーバー電卓鉄筋電卓木材計算機平方フィート計算機交差掛け算電卓五数要約電卓パーセンタイル電卓正規分布電卓p値電卓四捨五入電卓関数電卓ポモドーロ学習タイマー有効数字電卓テストスコア計算機加重成績計算ツール期末成績電卓成績計算機共振周波数電卓インピーダンス電卓電力用電卓RC時定数電卓変圧器電卓ワイヤーゲージ電卓555タイマー電卓コンデンサ電卓分圧器計算電卓LED抵抗器電卓モル/グラム/粒子変換器滴定計算器沸点計算ツール実験式計算器収率計算機化学量論計算機化学反応式バランサー希釈計算器馬力電卓自由落下電卓理想気体の状態方程式電卓仕事と仕事率電卓位置エネルギー計算機運動エネルギー電卓放物運動電卓運動量計算機速度電卓加速度電卓力の電卓インフルエンサーROI電卓ROAS電卓CTR計算ツールソーシャルメディアユーザー名チェッカーソーシャルメディア投稿時間最適化ツールソーシャルメディアROI電卓Facebook広告費用電卓YouTubeショート収益化計算ツールTwitch収益計算ツールYouTube視聴時間電卓Twitter/X タイムスタンプ変換器TikTok収益計算ツールソーシャルメディア画像サイズガイドInstagramフォントジェネレーターTwitter/X 文字数カウンターYouTubeコメントピッカーYouTubeタグ抽出ツールyoutubeサムネイルダウンローダーyoutube収益見積もりツールランダムRPGキャラクタージェネレーター