WordPress-如何使用哈希密码验证用户输入的密码

时间:2018-10-16 04:49:00

标签: php wordpress encryption login

我想在wordpress中创建自定义登录系统。这样就要求输入用户名和密码。但这并不能使用给定的密码对用户进行身份验证,因为它与存储在db中的密码(以散列形式)不同。

用户提供的输入

  

用户名:admin和密码:pass1q @。// aa

存储在数据库中的哈希密码

  

$ P $ BY.HywWHy.bpgmBZzyV6RGxG / m6.3u /

这是我用于验证的代码

$password_hashed = '$P$BY.HywWHy.bpgmBZzyV6RGxG/m6.3u/';
$plain_password = 'pass1q@.//aa';

if($wp_check_password($plain_password, $password_hashed)) {
    echo "YES, Matched";
} else {
    echo "No, Wrong Password";
}

有人可以帮助我吗?感谢您寻求开发者社区的积极回应。

1 个答案:

答案 0 :(得分:1)

https://developer.wordpress.org/reference/functions/wp_check_password/

从函数调用中删除$。

也不要忘记添加用户ID

$user = get_user_by( 'login', $username );
if ( $user && wp_check_password( $pass, $user->data->user_pass, $user->ID) )
   echo "That's it";
else
   echo "Nope";