【问题标题】:What technique wordpress use for reset password?wordpress 使用什么技术来重置密码?
【发布时间】:2015-12-02 11:18:06
【问题描述】:

我尝试重置 wordpress 管理面板的密码。

我输入一些密码并选择功能 MD5。

它显示给定字符串的精确 md5 转换。

在 wordpress 的管理面板中登录后,如果我们浏览表格,它会将密码转换为其他字符串。

谁能指导我密码技术?

谢谢

【问题讨论】:

  • 我当然希望 wordpress 使用的不是基本的 md5 哈希值......但是为什么你需要知道它使用的实际方法呢?这是为了安全审计还是类似的?
  • 没什么特别的,我只是想知道他们到底在用什么。因为登录到管理面板后,db中的字符串更新了。

标签: php wordpress passwords


【解决方案1】:

引用Wordpress docs

创建纯文本密码的哈希。除非设置了全局 $wp_hasher,否则默认实现使用 PasswordHash,它在密码中添加盐并使用 8 次 MD5 散列。默认情况下使用 MD5,因为它在所有平台上都受支持。您可以将 PasswordHash 配置为使用 Blowfish 或扩展 DES(如果可用)而不是带有 $portable_hashes 构造函数参数或属性的 MD5(参见示例)。

【讨论】:

  • 谢谢马克,知道了。 :)
  • 顺便说一句,在登录时更新此字符串的原因可能是什么。 (意思是在数据库中,我在函数中输入了一个字符串'admin'和md5。它保存了完全简单的md5。第一次登录后,我浏览了数据库表并更新了字符串。而在登录之前字符串是简单的md5。)
  • 在 md5 被认为是安全散列的那些日子里,可能是某种形式的向后兼容性,因此它允许验证作为简单 md5 散列的旧密码....但是用额外的 7 更新它登录时的 md5s - 可能是我的猜测......但你真的需要问写它的人知道他们这样做时的想法
  • 确定。我会问。 :)
【解决方案2】:

它使用wp_hash_password 函数。

function wp_hash_password($password) {
    global $wp_hasher;

    if ( empty($wp_hasher) ) {
        require_once( ABSPATH . WPINC . '/class-phpass.php');
        // By default, use the portable hash from phpass
        $wp_hasher = new PasswordHash(8, true);
    }   
    return $wp_hasher->HashPassword( trim( $password ) );
}

“class-phpass.php”文件的源代码可以在网站上找到:https://core.trac.wordpress.org/browser/tags/4.3.1/src/wp-includes/class-phpass.php

【讨论】:

    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2017-04-28
    • 1970-01-01
    • 2021-06-27
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多