我正在构建一个外部应用程序,将从WordPress站点数据库表中获取用户登录凭据。在表中我可以看到密码正在被哈希并且类似于这样的
$ P $ 9jWFhEPMfI.KPByiNO9IyUzSTG7EZK0
我的要求是在登录时使用普通密码检查此密码。我正在使用函数$hashed=wp_hash_password($password);
来生成散列并将其与db.But中存储的散列进行比较。这会产生一个随机散列相同密码的时间。那我怎么能比较两个密码呢?我也可以在我的wp_config中看到不同的盐值被定义为AUTH_SALT,SECURE_AUTH_SALT,LOGGED_IN_SALT,NONCE_SALT
请建议一种比较散列密码的方法。我们需要使用这些盐中的任何一种才能正确使用。如果是这样,请提供一些示例代码
谢谢: - )
答案 0 :(得分:3)
你应该使用 wp_check_password(string $ password,string $ hash,string | int $ user_id ='')
$ password(string)(必填)明文用户密码
$ hash(string)(必需)用于检查的用户密码的哈希值 对
$ user_id(string | int)(可选)用户ID。
https://developer.wordpress.org/reference/functions/wp_check_password/