【问题标题】:Comparing hashed passwords with PHP in wordpress在 wordpress 中将散列密码与 PHP 进行比较
【发布时间】:2018-09-17 08:22:41
【问题描述】:

我正在构建一个外部应用程序,用户登录凭据将从 WordPress 站点数据库表中获取。在表中我可以看到密码正在被散列并且类似于这样的东西

$P$9jWFhEPMfI.KPByiNO9IyUzSTG7EZK0

我的要求是在登录时检查此密码与普通密码。我使用函数$hashed=wp_hash_password($password); 来生成哈希并将其与存储在 db 中的哈希进行比较。但这每次都会生成一个随机哈希相同的密码。那么我如何比较两个密码?我也可以在我的 wp_config 中看到不同的盐值被定义为 AUTH_SALT、SECURE_AUTH_SALT、LOGGED_IN_SALT、NONCE_SALT

请建议一种比较散列密码的方法。我们是否需要使用这些盐中的任何一种才能正确。如果是,请建议一些示例代码

谢谢:-)

【问题讨论】:

    标签: php wordpress md5 salt password-hash


    【解决方案1】:

    您应该使用 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/

    【讨论】:

    • 什么是 $hash?它是从数据库中检索的还是我们使用 wp_hash_password(plain password) 进行的哈希?
    • 您直接从数据库中获取的散列密码。
    猜你喜欢
    • 1970-01-01
    • 2020-08-09
    • 2016-09-19
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多