WordPress从Prestashop导入用户密码重新刷新

WordPress从Prestashop导入用户密码重新刷新,wordpress,prestashop,password-encryption,Wordpress,Prestashop,Password Encryption,我已经将我们以前的Prestashop用户导入到wp_users表中,显然密码不是wp格式的,因此我们的用户不能使用他们的Prestashop密码登录 我尝试过这个插件,但根本不起作用: 然后我看了一下重置密码代码,找到了下面的脚本,但仍然不起作用 require_once 'wp-config.php'; $sql="SELECT user_pass,ID FROM wp_users WHERE ID = '279'"; $find = mysql_query($sql) or die(m

我已经将我们以前的Prestashop用户导入到wp_users表中,显然密码不是wp格式的,因此我们的用户不能使用他们的Prestashop密码登录

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

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

  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中的格式相同,但仍然无法登录。我正在使用wooCommerce和WordPress

预设密码:0f1a0cf4f0a2ad0fe4f760bfcd981646 在上面的脚本之后:$P$Bt1yBukTlFIa6PHz9hb98VeLKcfDu30

有什么想法吗

谢谢

乔恩

/*****更新*******/

设法让上面的插件执行某些操作,但它与密码不匹配:

$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格式,您能看到上面的错误吗?

您不能对Prestashop密码进行反向工程。最可能的情况是,上面的脚本确保您可以使用PrestaShop密码的哈希值登录

因此,如果您的密码是:

秘密的话

它在PrestaShop中散列如下:

0f1a0cf4f0a2ad0fe4f760bfcd981646

上面的脚本对密码进行了哈希运算,结果变成:

$p$BT1YBUKTLFI6PHZ9HB98VELKCFDU30

因此,现在您可以通过以下方式登录wordpress:

0f1a0cf4f0a2ad0fe4f760bfcd981646

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

秘密的话

PrestaShop按以下方式散列密码:

MD5“COOKIE、密钥、密码”


其中password是客户密码,_COOKIE_KEY_uuu是/config/settings.inc.PHP中的PHP常量

UPDATE:上面的脚本似乎使用了Prestashop密码并进行了加密,因此我现在可以使用Prestashop加密密码登录:0f1a0cf4f0a2ad0fe4f760bfcd981646,而不是真正的Prestashop密码?Prestashop也是在存储之前对密码进行哈希运算,这样您就无法获得真实/实际的密码。谢谢您的回答。我想知道Prestashop是如何对其密码进行哈希运算的,你知道吗?刚刚更新的问题,如果你有时间看一下的话,非常感谢。