【问题标题】:How to use md5 hashed password (get from external API) to create user in wordpress?如何使用 md5 哈希密码(从外部 API 获取)在 wordpress 中创建用户?
【发布时间】:2013-02-19 23:10:47
【问题描述】:

从 WHMCS API 我得到这些数据:

  • 电子邮件
  • 密码

我收到了正常格式的电子邮件 (email@example.com)。但我得到以下格式的密码:

  • 41bef39ea1086512d8b90b2a3dbc4d3e:jh#sZ(使用 XML)

这里,jh#sZ是盐,格式是"md5(salt.pw):salt"

现在我的问题是,如何在 wp_insert_user()wp_create_user() 函数中使用此密码将用户插入 wp 数据库?

【问题讨论】:

  • 为什么需要这样做?
  • 我需要这个来将所有 whmcs 注册用户插入 wp 数据库,这样他们就不需要再次 wp 站点来评论帖子了。
  • 这里有问题 wp_insert_user() 接受 user_pass 数组,但它必须是纯文本密码,因为 salt/md5 密码会自动,wp_create_user() 使用用户创建一个新用户,通过,电子邮件数据,但 WP 会加盐/md5,所以如果你这样做会导致错误
  • 是明文密码还是散列密码?
  • 如果您有很多用户,太多而无法重置他们的密码,您可以尝试wpdb class

标签: wordpress passwords md5 salt whmcs


【解决方案1】:

您可以在插入用户后使用 $wpdb 将 MD5 哈希密码插入数据库。 现有的 md5 密码可以使用。如果有人在寻找查询,这里是:

global $wpdb;

$user_id = wp_insert_user($user_data);

$result = $wpdb->update( 
    $wpdb->users,
    array( 'user_pass' => $user_pass ),
    array( 'ID' => $user_id )
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    相关资源
    最近更新 更多