WordPress使用什么类型的哈希?

136 php wordpress hash

WordPress使用什么类型的哈希?
以下是WordPress哈希的示例:

$ P $ Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR.

Nei*_*eil 133

WordPress密码hasher实现了Portable PHP密码哈希框架,该框架在内容管理系统中使用,如WordPress和Drupal.

他们以前在旧版本中使用MD5,但遗憾的是我不再使用它.您可以使用此加密方案在http://scriptserver.mainframe8.com/wordpress_password_hasher.php生成哈希值.

  • 我不知道这是否会有所帮助,但WP仍然会在您第一次使用密码时采用直接MD5,然后它会"加盐"它.因此,如果您可以访问数据库,使用MyPHPAdmin可以将PW更改为"MyPass",在"功能"下拉列表中选择MD5,它将保存为直接MD5.登录Wordpress,它会将它改为"加盐"版本,加上$ P $ B __ /. (13认同)
  • 是有人遇到这个老问题,就像我做的那样请注意MD5不再可以接受.如果你有> PHP 5.5.0使用新的`password_hash`函数.如果你只有> PHP 5.3.7使用这里的兼容性库https://github.com/ircmaxell/password_compat (11认同)
  • 毫无疑问,@ wpcoder MD5是100%加密不安全的,并且不能用作哈希密码存储方法。 (2认同)
  • @AndrewBrown MD5 仍然有效的唯一原因是支持向后兼容性。用户登录后,它会将 md5 更新为新的哈希值。但是,这确实留下了安全漏洞。时间已经够长了 WP 应该停止支持 MD5 (2认同)

Óla*_*age 20

$hash_type$salt$password
Run Code Online (Sandbox Code Playgroud)

如果哈希不使用salt,那么就没有任何$迹象.您的案例中的实际哈希值是在第二个之后$

这样做的原因是,你可以使用不同的盐和Feed将许多类型的哈希串联到一个知道如何将其与其他值匹配的函数中.


Joh*_*tta 14

MD5为我手动更改数据库工作.请参阅:重置密码

  • 如果手动输入到表中,MD5将起作用,但是在首次登录时,WP将使用自己的哈希值重写它,因此它非常适合重置密码,但不能超过密码. (22认同)

JJL*_*JLL 11

http://eamann.com/tech/wordpress-password-hashing/

为防止向后兼容性,存储在数据库中的MD5散列密码仍然有效.当用户使用这样的密码登录时,WordPress会检测到使用了MD5,使用更安全的方法重新生成密码,并将新哈希存储在数据库中.

这意味着在Wordpress DB中手动重置密码,简单的MD5哈希就足够了.


inn*_*naM 8

它至少取决于所使用的PHP版本.wp-includes/class-phpass.php包含所有答案.


Fai*_*ikh 8

执行此操作的最佳方法是使用WordPress类对用户进行身份验证.这是我的解决方案:

1.包括以下WordPress PHP文件:

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";
}
Run Code Online (Sandbox Code Playgroud)

  • 答案中不清楚,但$ password是明文中的未散列传递,而$ row ['user_pass']是您需要自己从数据库中获取的散列密码. (2认同)

小智 6

启动phpMyAdmin并从您的wordpress实例访问wp_users。编辑记录并选择user_pass函数以匹配MD5。在VALUE中输入将作为您的新密码的字符串。单击,开始。转到您的wordpress网站,然后输入新密码。回到phpMyAdmin,您将看到WP将HASH更改为类似$ P $ B的东西……尽情享受吧!


Mei*_*sam 6

我有同样的问题,找出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";
}
?>
Run Code Online (Sandbox Code Playgroud)

请参阅以下链接:https: //codex.wordpress.org/Function_Reference/wp_hash_password

https://developer.wordpress.org/reference/functions/wp_hash_password

它使用PasswordHash,它为密码添加盐并使用8次MD5通过哈希值.