Wordpress MD5密码

时间:2011-01-20 17:24:07

标签: php wordpress encryption md5

我需要通过PHP脚本或MySQL将用户插入到Wordpress博客中,并且我有一个纯文本密码。我以为我可以这样做:

$query = "INSERT INTO $new_db.wp_users (user_login, user_pass, user_nicename)
select user_email, md5(user_password), user_name from $source_db.users";

但是密码看起来与现在Wordpress密码的外观不同。所有密码都以$P$B

开头

从阅读中说它有一个盐...有没有办法获取像test123这样的密码并将其转换成Wordpress期望的加密密码?

5 个答案:

答案 0 :(得分:5)

最明智的解决方案就是使用相关的WordPress功能(wp_generate_password)本身。

但是,如果这不是一个选项,您可以简单地提取wp_generate_password函数(它在/wp-includes/pluggable.php中)和相关的支持函数。

答案 1 :(得分:1)

Wordpress使用phpass散列,这与MD5不同。

答案 2 :(得分:1)

创建密码的最简单方法是......

  1. 使用任何垃圾作为user_pass的MySQL表中的条目,但是a 正确的电子邮件。
  2. 使用登录面板中的“忘记密码”功能生成正确的密码(或自动激活此链接以通知用户)。
  3. 不要忘记从其他帐户复制“wp_capabilities”和“wp_user_level”。

答案 3 :(得分:-1)

此功能将执行您所描述的转换密码:

<?
function encrypt_for_wordpress($plain_text_password) {
    return md5("\$P\$B" . $plain_text_password);
}

您需要从source_db中选择它,在PHP中进行转换,然后将其插入new_db

答案 4 :(得分:-1)

WordPress曾经使用过MD5密码,但仍然可以。将密码设置为MD5哈希应该可以正常工作。当每个用户第一次登录时,WordPress将根据它现在使用的更强的安全性重新密码。