wp_hash_password() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました