説明
wp_hash_password() は、パスワードをハッシュ化する関数です。
基本構文
wp_hash_password( string $password ): string
引数
$password:平文のパスワード
戻り値
ハッシュ化した文字列。
使い方(サンプル)
$hash = wp_hash_password( 'password' );
注意点
- 同じパスワードでも、毎回異なるハッシュが返ります(ソルト付き)。
- ユーザー作成・更新の関数を使えば、自動でハッシュ化されます。
実務での使いどころ
- パスワードを、ハッシュ化して保存するとき(独自のテーブルなど)。
よくあるミスと対処
- ハッシュを、
wp_check_password()を使わずに、==で比べる。ハッシュは、毎回違う値になる。 - ユーザーを保存するときに、ハッシュ化済みの値を、さらにハッシュ化している。新規作成の
wp_insert_user()や、wp_update_user()には、平文を渡せば、自動でハッシュ化される(IDを指定したwp_insert_user()の更新では、ハッシュ化されない)。 - ハッシュを、ログなどに出力している。
NG例
wp_update_user( array( 'ID' => $id, 'user_pass' => wp_hash_password( $pass ) ) ); // 二重にハッシュ化される
OK例
wp_update_user( array( 'ID' => $id, 'user_pass' => $pass ) ); // 平文を渡すと、自動でハッシュ化される
使い分け早見表
| 関数 | 役割 |
|---|---|
wp_hash_password() |
パスワードを、ハッシュ化する |
wp_check_password() |
平文とハッシュが、一致するかを確認する |
wp_generate_password() |
ランダムなパスワードを生成する |
関連項目
wp_check_password()、wp_generate_password()
公式リファレンス:wp_hash_password() | Function | WordPress Developer Resources

コメント