首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress从Prestashop导入用户密码reHash

WordPress从Prestashop导入用户密码reHash
EN

Stack Overflow用户
提问于 2015-03-24 17:30:28
回答 1查看 971关注 0票数 0

我已经将我们的旧的Prestashop用户导入到wp_users表中,显然密码不是WP格式的,所以我们的用户无法使用他们的Prestashop密码登录。

我试过这个插件,但它根本不起作用:

https://wordpress.org/support/plugin/prestashop-user-compatibility

然后我看了看重置密码密码,找到了下面的脚本,但这仍然不起作用。

代码语言:javascript
复制
  require_once 'wp-config.php';
$sql="SELECT user_pass,ID FROM wp_users WHERE ID = '279'";
$find = mysql_query($sql) or die(mysql_error());

  while($row = mysql_fetch_array($find))
  {

  $current_password = $row['user_pass'];
  $current_id = $row['ID'];
  $hashed_password = wp_hash_password( $current_password );

  $update_sql= "UPDATE wp_users SET user_pass = '" . $hashed_password . "' WHERE ID = " . $current_id . "";
  $update = mysql_query($update_sql) or die(mysql_error());  

  echo $current_id . " " . $hashed_password;
  echo "<br />";
  }

运行上面的代码后,密码看起来与phpMyAdmin中的格式相同,但仍然无法登录。我在WordPress中使用wooCommerce。

Prestashop密码: 0f1a0cf4f0a2ad0fe4f760bfcd981646在上面的脚本后面:$P$Bt1yBukTlFIa6PHz9hb98VeLKcfDu30

有什么想法吗?

谢谢

琼恩

/*****更新*/

设法让上面的插件做一些事情,但它与密码不匹配:

代码语言:javascript
复制
$ps_salt = 'MY COOKIE KEY';

    $wp_hashed_pw = $user->user_pass."<br />"; // password stored in WPDB
    $ps_hashed_pw = md5($ps_salt.$password);
    // this means that the user's password in the DB is an old Prestashop password
    // if the password is correct, we rehash and update it
    if($ps_hashed_pw == $user->user_pass) {
        wp_set_password( $password, $user->id );

    }

所以基本上,当用户使用Prestashop密码登录时,它会运行代码,然后更新为wordpress格式,你能看到上面有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-24 20:11:46

您不能对PrestaShop密码进行反向工程。上面的脚本很可能确保您可以使用PrestaShop密码的散列进行登录。

因此,如果您的密码是:

mysecredword

它在PrestaShop中的散列方式如下:

0f1a0cf4f0a2ad0fe4f760bfcd981646

上面的脚本对该密码进行了散列处理,结果如下:

$P$Bt1yBukTlFIa6PHz9hb98VeLKcfDu30

所以现在你可以用以下命令登录wordpress:

0f1a0cf4f0a2ad0fe4f760bfcd981646

但不使用原始客户密码,即:

mysecredword

PrestaShop通过以下方式对密码进行哈希处理:

MD5('_COOKIE_KEY_password')

其中" password“是客户密码,_COOKIE_KEY_是/config/settings.inc.php中的PHP常量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29229040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档