bcrypt con pre-hash HMAC-SHA384。WordPress 6.8 以降のフォーマット。プレフィックス "$wp$2y$"。
WordPress のパスワードは「復号化」できません。アルゴリズムは一方向です。パスワードがハッシュと一致するかどうかを確認するには、「検証」モードを使用してください。
bcrypt の回数 (4 ~ 15)。WordPress はデフォルトで 10 を使用します。
仕組み
このツールは WordPress と同じ形式でパスワードのハッシュを生成・検証します。ユーザーの移行、ログインの修復、データベースへの直接のパスワード挿入に役立ちます。
2 つの形式に対応します。HMAC-SHA384 の事前ハッシュ付き bcrypt(WordPress 6.8 以降、接頭辞 $wp$2y$)と、反復 MD5 に基づく phpass(それ以前のバージョン、接頭辞 $P$)です。検証モードでは形式を自動的に判別します。
コストは適用するラウンド数を制御します。コストが高いほどハッシュの計算は遅くなり、総当たりへの耐性が高まります。WordPress は既定で bcrypt に 10、phpass に 8 を使います。
例
bcrypt (WP 6.8+)$wp$2y$10$… → 標準的な 60 文字の bcrypt の前に付いた $wp$ 接頭辞。phpass (WP < 6.8)$P$B… → 合計 34 文字で、8 文字の salt を含みます。各ハッシュにはランダムな salt が含まれるため、同じパスワードでも毎回異なるハッシュになります。検証パスワード + 保存済みハッシュ → 一致 / 不一致。ユースケース
- wp_users テーブルの user_pass 列を直接編集して、ユーザーのパスワードをリセットする。
- 既存のパスワードを保ちながら、アカウントを WordPress へ、または WordPress から移行する。
- パスワードが、データベースからエクスポートしたハッシュと一致するか確認する。
- サイトの認証を開発・デバッグするためのテスト用ハッシュを生成する。
よくある質問
WordPress はパスワードにどの形式を使いますか?
バージョン 6.8 以降は、HMAC-SHA384 の事前ハッシュ付き bcrypt(接頭辞 $wp$2y$)を使います。それ以前のバージョンは、反復 MD5 に基づく移植性の高い方式 phpass(接頭辞 $P$)を使います。どちらも salt を含みます。
WordPress 6.8 はなぜ bcrypt に切り替えたのですか?
phpass(反復 MD5)は現在の攻撃に対して時代遅れになり、bcrypt ははるかに耐性があります。SHA-384 の事前ハッシュは、bcrypt がパスワードに課す 72 バイトの制限も回避します。
ハッシュをデータベースに直接貼り付けられますか?
はい。生成したハッシュを wp_users テーブルの user_pass 列にコピーしてください。WordPress はログイン時に bcrypt 形式と phpass 形式の両方を認識します。
コストとは何で、どの値が適していますか?
作業係数、つまり計算するラウンド数です。値が高いほど安全ですが遅くなります。既定値(bcrypt は 10、phpass は 8)は良いバランスを提供します。
同じパスワードは常に同じハッシュになりますか?
いいえ。各ハッシュにはランダムな salt が含まれるため、同じパスワードでも異なるハッシュになります。そのためパスワードを確認するには、ハッシュ同士を比較するのではなく検証モードを使います。
私のパスワードはサーバーに送信されますか?
いいえ。ハッシュの計算と検証はすべてブラウザー内でローカルに行われ、パスワードがデバイスから外に出ることはありません。