我正在构建一个外部应用程序,将从 WordPress 站点数据库表中获取用户登录凭据。在表中我可以看到密码正在被散列,类似于这样的内容
$P$9jWFhEPMfI.KPByiNO9IyUzSTG7EZK0
我的要求是根据登录中的纯密码检查此密码。我正在使用函数 $hashed=wp_hash_password($password);
来生成散列并将其与散列进行比较存储在数据库中。但这每次都会为相同的密码生成一个随机散列。那么我如何比较这两个密码?我还可以在我的 wp_config 中看到定义了不同的盐值,例如 AUTH_SALT、SECURE_AUTH_SALT、LOGGED_IN_SALT、NONCE_SALT
请建议一种比较散列密码的方法。我们是否需要使用这些盐来使其正确。如果需要,请建议一些示例代码
谢谢:-)
最佳答案
您应该使用wp_check_password( string $password, string $hash, string|int $user_id= '' )
$password (string) (Required) Plaintext user's password
$hash (string) (Required) Hash of the user's password to check against.
$user_id (string|int) (Optional) User ID.
https://developer.wordpress.org/reference/functions/wp_check_password/
关于php - 在 WordPress 中比较散列密码与 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49707481/