WordPress从Prestashop导入用户密码重新刷新
我已经将我们以前的Prestashop用户导入到wp_users表中,显然密码不是wp格式的,因此我们的用户不能使用他们的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
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是如何对其密码进行哈希运算的,你知道吗?刚刚更新的问题,如果你有时间看一下的话,非常感谢。