WordPress 使用什么类型的散列? 下面是一个 WordPress 散列的例子:
$P$Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR.
MD5为我工作,手动更改我的数据库
$hash_type$salt$password
如果散列没有使用 salt,那么就不存在这样的 $符号。在您的案例中,实际的散列位于第2个 $之后
$
这样做的原因是,您可以使用许多类型的哈希表和不同的盐,并将该字符串提供给一个知道如何将其与其他值匹配的函数。
它至少取决于所使用的 PHP 版本。 wp-includes/class-phpass.php包含所有的答案。
wp-includes/class-phpass.php
WordPress 密码哈希器实现了 便携式 PHP 密码哈希框架,这在 WordPress 和 Drupal 等内容管理系统中使用。
他们过去在旧版本中使用 MD5,但幸运的是,现在不再使用了。可以在 http://scriptserver.mainframe8.com/wordpress_password_hasher.php上使用此加密方案生成哈希。
启动 phpMyAdmin 并从 wordpress 实例访问 wp _ users。 编辑记录并选择 user _ pass 函数以匹配 MD5。在 VALUE 中写入将成为新密码的字符串。 开始。 去你的 wordpress 网站,输入你的新密码。 返回 phpMyAdmin,您将看到 WP 将 HASH 更改为类似 $P $B 的内容..。 好好享受吧!
在 WordpressDB 中手动重置密码,一个简单的 MD5哈希就足够了(见下面的原因)
为了防止破坏向后兼容性,存储在数据库中的 MD5散列密码仍然有效。当用户使用这样的密码登录时,WordPress 检测到使用了 MD5,使用更安全的方法重新散列密码,并将新散列存储在数据库中。
资料来源: http://eamann.com/tech/wordpress-password-hashing/
更新: 这是2014年发布的答案。我不知道它是否仍然工程的最新版本的可湿性粉剂,因为我不工作与可湿性粉剂了。
默认情况下 wordpress 使用 MD5。您可以将其升级为河豚或扩展 DES。
Wordpress 使用 MD5密码散列。创建纯文本密码的哈希。除非设置了全局 $wp _ hasher,否则默认实现将使用 PasswordHash,它将在密码中添加 salt 并使用 MD5的8次传递对其进行哈希处理。默认情况下使用 MD5,因为它在所有平台上都受支持。您可以配置 PasswordHash 使用 Blowfish 或扩展 DES (如果可用) ,而不是使用带有 $port _ hash 构造函数参数或属性的 MD5。
我遇到了同样的问题,找出 WordPress 使用哪种散列。
是 Wp 散列密码。
例子
将已经散列的密码与其纯文本字符串进行比较:
<?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,它在密码中添加 salt,并使用 MD5的8次传递对其进行哈希处理。
Include _ once (’. ./. ./. ./wp-config.php’) ;
全球 $wpdb;
$password = wp _ hash _ password (“ your password”) ;
最好的方法就是使用 WordPress 类来认证用户。以下是我的解决方案:
1. 包括以下 WordPress PHP 文件:
include_once(dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . "wp-includes" . DIRECTORY_SEPARATOR . "class-phpass.php");
2. 创建 PasswordHash类的对象:
PasswordHash
$wp_hasher = new PasswordHash(8, true);
3. 调用 CheckPassword函数对用户进行身份验证:
CheckPassword
$check = $wp_hasher->CheckPassword($password, $row['user_pass']);
4. 检查 $check变量:
$check
if($check) { echo "password is correct"; } else { echo "password is incorrect"; }
请注意: $password是明文的非散列密码,而 $row['user_pass']是您需要从数据库中获取的散列密码。
$password
$row['user_pass']