作業フローを簡素化:miniwebtoolを検索。
追加
関連ツール
Argon2ハッシュジェネレーターSHA256 ハッシュジェネレーターWhirlpool ハッシュ生成器SHA1ハッシュジェネレーターSHA512ハッシュジェネレーターパスワード強度テスター
ホームページ > ハッシュとチェックサム > 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アドレス検索パーセント誤差電卓ランダム誕生日ジェネレーター動画を結合円錐展開図テンプレートジェネレーター画像分割ツール合計電卓YouTubeチャンネル統計war電卓フィートとインチからセンチメートルへのコンバーター楕円円周電卓ASCIIコード表動画を逆再生エンジェルナンバー電卓英単語ランダム生成ツールランダムトーナメント表作成ツール標準偏差電卓 - 高精度ランダム超能力ジェネレーターMP3ルーパーシグマ記法電卓 総和空の行を削除するai句読点追加番号を並べ替える売上総利益率電卓デシベル (dB) 電卓熱膨張計算機モジュロ電卓筆算割り算電卓素数ですかマン・ホイットニーのU検定計算機平方完成電卓ヒジュラ暦変換器kva計算機中央値電卓手数料電卓ランダム絵文字ジェネレーター私のIPアドレスは何ですかオンライン句読点削除ツールランダム日付ジェネレーターFPSコンバーター動画を回転逆テキスト血糖値コンバーターCAGR電卓ボウリングスコア計算機小数時間から普通の時間へのコンバーター関数電卓じゃんけんジェネレーターランダム名前ジェネレーター圧力電卓土星回帰電卓加速度電卓ビンゴカードジェネレーター分数電卓太陽位置計算機相対標準偏差電卓コラッツ予想電卓ビデオ速度を調整変化率電卓水星逆行カレンダー労働時間計算ツールHEXコンバーターボルト締付トルク計算機ピタゴラスの定理電卓比率電卓オーディオ スプリッター中間日計算機水泳ペース計算機fena電卓t検定電卓センチメートルからフィートとインチへのコンバーターHEX電卓SRTからTXTへの変換ツール🔊 トーンジェネレーターコラージュメーカー相関係数計算機🖱️ クリックカウンター対数電卓角速度計算機FacebookユーザーID検索画像回転ツール筆算足し算・引き算計算機年の日電卓 - 今日は今年の何日目角度変換ツール💧 露点電卓XMLバリデーター階段電卓割り切れるテスト電卓マスターナンバー電卓AIテキストヒューマナイザー桁数電卓配管流量電卓分散電卓 高精度指数電卓-高精度沸点計算ツールポアソン分布電卓atan2電卓外れ値電卓学習曲線電卓二乗平均平方根電卓猫カロリー電卓ビデオをループ再生ワイヤーゲージ電卓正多角形電卓発音IPA変換ツール配当利回り電卓世界時計CRC32チェックサム電卓ガウス分布ジェネレーター科学表記法電卓BUN対クレアチニン比電卓グレイコード・バイナリ変換電卓バーコードジェネレーター動画から画像抽出ツール四分位範囲電卓車両重量配分計算機通常の時間から小数の時間へのコンバーター太陽・月・上昇星座電卓 🌞🌙✨真実か挑戦かジェネレーター魔方陣ジェネレーター10進数からBCDへのコンバーターランダムクレジットカードジェネレーターランダム時刻ジェネレーター平方根電卓PSIからbarへの変換器点つなぎジェネレーターFIP電卓log-base-2電卓ヒストグラムメーカー10進数から16進数へのコンバーターLED抵抗器電卓VTTからtxtへのコンバーターバイナリ電卓円錐台電卓斜辺電卓階乗電卓eの最初のn桁ベーカーズパーセント電卓週番号計算機KDレシオ計算機ダイスロール確率電卓熱伝達計算機ANC電卓⚔️ DPS電卓HexからBCDへのコンバータークロスワードパズルメーカーパスワード強度テスター変動係数電卓平方和の計算CPM 電卓カイ二乗検定電卓ジニ係数電卓平方数リスト自転車サイズ電卓csvからsrtへGIFメーカーSHA256 ハッシュジェネレーターYouTubeタグ抽出ツールパーセントからppmへのコンバーターpsiからkPaへのコンバーターSRT 時間シフト 電卓サンプルサイズ電卓パレットジェネレーターフィッシャーの正確確率検定電卓ランニングペース電卓営業利益率電卓文字数による改行ビデオ反転メルセンヌ素数チェッカー上下反転テキストジェネレーター動画圧縮hba1c電卓TikTok収益計算ツールグロスアップ計算機サッカーxg期待ゴール電卓ジョルダン標準形電卓パーセント成長率電卓ペニー落下衝撃電卓ローマ数字のコンバーター中間点電卓周波数波長変換ツール慣性モーメント計算機パーソナリティ・ナンバー電卓ボロノイ図ジェネレーターランダム映画ピッカー取り消し線テキスト生成ツール重複行削除ツールカロリー赤字電卓中国剰余定理電卓平均寿命電卓複数分数電卓AIトークンカウンターSVG最適化ツールYouTubeショート収益化計算ツール平方メートルから平方フィート変換器オンスからmlへの変換器mlからオンスへの変換器ガロンからリットル変換器リットルからガロン変換器キログラムからストーンへの変換器ストーンからキログラム変換器インチからミリメートルへの変換器ミリメートルからインチへの変換器マイルからキロメートル変換器キロメートルからマイル変換器華氏から摂氏への変換器摂氏から華氏への変換器バックパックサイズ電卓サーフボード容量電卓テニスグリップサイズ電卓ヘルメットサイズ電卓手袋サイズ電卓帽子サイズ変換スノーボードサイズ電卓スキーサイズ電卓スピードランスプリットタイマーステーブルフォード計算機ダーツチェックアウト電卓ボウリング・エコノミーレート電卓打撃ストライクレート電卓ネットランレート計算機Eloレーティング計算機心拍数回復電卓ハイキング時間計算機ローイングペース計算機ランニング年齢グレード計算機FTP・パワーゾーン計算機Beepテスト電卓ACFTスコア電卓Wilks & DOTS 電卓ホイールオフセット電卓タイヤ負荷指数・速度レーティング検索マイルあたりコスト電卓リース買取電卓オクタン価ブレンド電卓2ストロークオイル混合電卓エンジン排気量計算ソファ搬入電卓薪コード計算機空気清浄機CADR電卓除湿機サイズ計算シーリングファンサイズ電卓カーテンサイズ計算機ラグサイズ電卓額縁の掛け高さ計算機テレビ取り付け高さ計算機テレビサイズ電卓池の容量・ライナー電卓プール塩量計算機プール容量計算給湯器サイズ電卓エポキシ樹脂計算機手すり子間隔電卓巾木とトリムの電卓サイディング計算機デッキ用ステインの計算芝生の種計算機芝生電卓アスファルト電卓立方ヤード電卓アンテナ長計算機電線管充填率電卓直列並列コンデンサ電卓誘導リアクタンス計算機部屋の照明計算機ルクスからルーメン電卓ルーメンからワット変換器発電機サイズ計算機mAh Wh 変換器 電卓三相電力計算機アンペアからワット電卓ワットからアンペア電卓直列抵抗計算機摩擦計算機斜面計算機機械的倍率計算機音速計算機波の速度計算機浮力電卓終端速度計算機ド・ブロイ波長計算機光子エネルギー計算機emc2電卓時間の遅れ計算機ケプラーの第三法則計算機脱出速度計算機万有引力計算機ベール・ランベルトの法則電卓ネルンストの式計算機浸透圧計算機沸点上昇電卓凝固点降下計算パーセント組成計算機規定度計算機質量モル濃度計算機pKa→Ka変換器ヘンダーソン・ハッセルバルヒ電卓理論収量計算機制限反応物計算機電子配置計算機インタラクティブ周期表AI授業計画ジェネレーターAIクイズ作成ツール引用ジェネレーター (APA/MLA/Chicago)出席率計算APスコア計算機ACTスコア計算機SATスコア電卓パーセンテージからCGPA変換器CGPAからパーセンテージへの変換器簡単採点ツール EZ Grader子育て費用計算機赤ちゃんのミルク量計算おむつサイズ電卓赤ちゃんの名前ジェネレーター赤ちゃんの目の色予測子供のBMIパーセンタイル計算機子供の身長予測ツールhcg倍加時間計算ツール体外受精出産予定日電卓着床計算ツール中国式性別予測カレンダーISO 8601 日付フォーマッターユリウス日変換器昼寝電卓月相電卓日の出&日の入り電卓日付ローマ数字変換電卓退職カウントダウンソブリエティ計算機ハーフバースデー計算機記念日計算機チップ分配計算機メールマーケティングROI電卓リード獲得単価計算機運転資本計算機youtube収益見積もりツールランダムRPGキャラクタージェネレーター