$P$Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR.
WordPress密码哈希程序实现了Portable PHP密码哈希框架,该框架用于像WordPress和Drupal这样的内容管理系统。
旧版本中使用MD5加密,但现在不再使用。 您可以使用此加密方案生成哈希值,方法详见http://scriptserver.mainframe8.com/wordpress_password_hasher.php。
password_hash
函数。如果你只有PHP 5.3.7以上的版本,请使用这里的兼容库https://github.com/ircmaxell/password_compat。 - Andrew Brown$hash_type$salt$password
如果哈希函数不使用盐,则其中不会有$
符号。在您的情况下,实际哈希值位于第二个$
之后。手动重置WordPress数据库密码,简单的MD5哈希就足够了。 (请参见下面的原因)
为了防止破坏向后兼容性,存储在数据库中的MD5哈希密码仍然有效。 当用户使用此类密码登录时,WordPress检测到使用了MD5,重新使用更安全的方法对密码进行哈希,并将新的哈希存储在数据库中。
来源:http://eamann.com/tech/wordpress-password-hashing/
更新:这是2014年发布的答案。我不知道它是否适用于最新版本的WP,因为我不再使用WP。
5.8.3
版本。 - user2513149在我手动更改数据库时,MD5的使用对我很有帮助。请参见:重置您的密码
这取决于使用的 PHP 版本。wp-includes/class-phpass.php
包含了所有答案。
我曾经遇到过同样的问题,想要了解WordPress使用的是哪种类型的哈希。
它是wp hash password。
示例:
将已哈希密码与其明文字符串进行比较:
<?php
$wp_hasher = new PasswordHash(8, TRUE);
$password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/';
$plain_password = 'test';
if($wp_hasher->CheckPassword($plain_password, $password_hashed)) {
echo "YES, Matched";
} else {
echo "No, Wrong Password";
}
?>
查看这些链接:https://codex.wordpress.org/Function_Reference/wp_hash_password
https://developer.wordpress.org/reference/functions/wp_hash_password
它使用PasswordHash,为密码添加盐并使用8次MD5进行哈希。
include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");
2. 创建一个PasswordHash类的对象:
$wp_hasher = new PasswordHash(8, true);
3. 调用CheckPassword函数来验证用户身份:
$check = $wp_hasher->CheckPassword($password, $row['user_pass']);
4. 检查变量$check:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
$password
是明文未加密的密码,而$row['user_pass']
是已经加密的密码,需要从数据库中获取。php -a
并输入以下命令来执行此操作:include("/path/to/.../class-phpass.php"); $wp_hasher = new PasswordHash(8, true); echo ( $wp_hasher->CheckPassword('password', 'hash_from_db') ? "OK" : "BAD), "\n";
- mivk启动phpMyAdmin并从您的wordpress实例访问wp_users。 编辑记录并选择user_pass函数匹配MD5。在VALUE中写入将成为您新密码的字符串。 点击GO。 前往您的wordpress网站并输入新密码。 回到phpMyAdmin,您将看到WP将HASH更改为类似于$P$B的内容... 享受吧!
WordPress使用MD5密码哈希。它会为普通文本密码创建一个哈希值。除非全局变量$ wp_hasher已设置,否则默认实现将使用PasswordHash,它会向密码添加盐,并使用8次MD5进行哈希。默认情况下使用MD5是因为它在所有平台上都受支持。您可以使用$portable_hashes构造函数参数或属性将PasswordHash配置为使用Blowfish或扩展DES(如果可用)而不是MD5。
include_once('../../../wp-config.php');
全局变量 $wpdb;
$password = wp_hash_password("你的密码");
$P$
表示它已经被加盐,B
表示它使用Blowfish进行了哈希处理(我想),接下来的8个字符(p.ZDNMM9
)是盐,其余部分是散列值。 您可以在这里查看其工作原理的源代码(https://github.com/WordPress/WordPress/blob/master/wp-includes/class-phpass.php)。 - Collin Krawll