Php WordPress使用什么类型的哈希?
WordPress使用什么类型的哈希?Php WordPress使用什么类型的哈希?,php,wordpress,hash,Php,Wordpress,Hash,WordPress使用什么类型的哈希? 下面是WordPress哈希的一个示例: $p$Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR MD5为我工作,手动更改数据库。见: 如果散列不使用salt,则没有该符号。您案例中的实际哈希值位于第二个$ 这样做的原因是,您可以使用多种不同类型的散列,并将该字符串输入到知道如何将其与其他值匹配的函数中。这至少取决于所使用的PHP版本wp includes/class phpass.php包含所有答案。WordPress密码哈希器实现了,它用于
下面是WordPress哈希的一个示例: $p$Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR
MD5为我工作,手动更改数据库。见: 如果散列不使用salt,则没有该符号。您案例中的实际哈希值位于第二个
$
这样做的原因是,您可以使用多种不同类型的散列,并将该字符串输入到知道如何将其与其他值匹配的函数中。这至少取决于所使用的PHP版本
wp includes/class phpass.php
包含所有答案。WordPress密码哈希器实现了,它用于WordPress和Drupal等内容管理系统
他们以前在旧版本中使用MD5,但遗憾的是,我不再使用了。您可以在以下位置使用此加密方案生成哈希值。启动phpMyAdmin并从wordpress实例访问wp_用户。 编辑记录并选择用户通行功能以匹配MD5。在VALUE中写入将作为新密码的字符串。 点击,开始。 转到wordpress网站并输入新密码。 回到phpMyAdmin,您将看到WP将散列更改为$P$B之类的内容。。。
享受吧 要在Wordpress DB中手动重置密码,一个简单的MD5哈希就足够了。(见下文原因) 为了防止破坏向后兼容性,数据库中存储的MD5哈希密码仍然有效。当用户使用这样的密码登录时,WordPress检测到使用了MD5,使用更安全的方法重新刷新密码,并将新的哈希存储在数据库中 资料来源:
更新:这是2014年发布的答案。我不知道它是否仍然适用于最新版本的WP,因为我不再使用WP了。默认情况下wordpress使用MD5。您可以将其升级为河豚或扩展DES
Wordpress使用MD5密码哈希。创建纯文本密码的哈希。除非设置了全局$wp_散列器,否则默认实现将使用PasswordHash,它会在密码中添加salt并使用8次MD5散列。默认情况下使用MD5,因为它在所有平台上都受支持。您可以将PasswordHash配置为使用Blowfish或扩展DES(如果可用),而不是使用带有$portable\u hashes构造函数参数或属性的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";
}
?>
请参阅以下链接:
它使用PasswordHash,它向密码中添加salt,并使用8次MD5对其进行散列。include_once('../../../wp config.php')
全球$wpdb
$password=wp_hash_password(“您的密码”) 最好的方法是使用WordPress类对用户进行身份验证。以下是我的解决方案: 1。包括以下WordPress PHP文件:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
include_once(dirname(dirname(dirname(u文件_u)))).DIRECTORY_SEPARATOR.wp includes.DIRECTORY_SEPARATOR.class phpass.php)代码>
2。创建PasswordHash
类的对象:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
$wp\u hasher=新密码哈希(8,true)代码>
3。调用CheckPassword
功能验证用户:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
$check=$wp\u hasher->CheckPassword($password,$row['user\u pass'])代码>
4。check$check
变量:
if($check) {
echo "password is correct";
} else {
echo "password is incorrect";
}
请注意:$password
是明文形式的未散列密码,而$row['user_pass']
是需要从数据库获取的散列密码。不,这不是普通的md5散列,普通md5散列如下所示:b1946ac92492d2347c6235b4d2611184我听说它基于md5,但是有人能告诉我它使用什么类型的散列,以及在密码中选择什么选项如果手动输入到表中,PROMD5将起作用,但在第一次登录时,WP将使用自己的哈希重写密码,因此它可以很好地重置密码,但仅此而已。@FranciscoCorralesMorales-在数据库中按原样键入密码,然后从下拉列表中选择MD5仍然有效。您还可以将MD5加密字符串复制/粘贴到框中,而不选择任何内容,它将工作(因此,如果您的PW是“qwertyuiop”,那么您的ND5是“6eea9b7ef19179a06954edd0f6c05ceb”。如果您使用直接的“qwertyuiop”密码,请选择“MD5”,或者使用该长哈希而不选择任何内容,请保存数据库,然后使用登录WordPress“qwertyuiop”和它将起作用)谢谢,但我认为md5散列必须是十六进制的,比如:b1946ac92492d2347c6235b4d2611184为什么这个散列有字符A-Z和。在其中?它是md5散列吗?可能是使用的那种散列。散列只是一个固定大小的字符串。可以包含任何你想要的内容。@Amanda Kumar。这次聚会非常晚了,但md5产生了128位(16字节)值。该值可以以不同的方式存储和表示,例如十六进制字符串、Base64字符串或文件中的原始数据。您通常会看到MD5值以十六进制表示,但WordPress使用Base64。您的十六进制值将是Base64中的sZRqySSS0jR8YjW00mERhA==它使用的字符比十六进制少25%来表示相同的数据a、 如果有人像我一样遇到这个老问题,请注意MD5不再是可接受的。如果您有>PHP5.5.0,请使用新的password\u hash
函数。如果您只有>PHP5.3.7,请使用这里的兼容性库,我不知道这是否会有任何帮助,但第一次使用Passwo时,WP仍然会直接使用MD5因此,如果你有权访问数据库,使用MyPHPAdmin,你可以将PW更改为“MyPass”,在“Function”下拉列表中选择MD5,它将保存为一个直接的MD5。登录Wordpress,它会将其更改为带有$P$B___/added.Basica的“salted”版本