Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress使用什么类型的哈希?_Php_Wordpress_Hash - Fatal编程技术网

Php WordPress使用什么类型的哈希?

Php WordPress使用什么类型的哈希?,php,wordpress,hash,Php,Wordpress,Hash,WordPress使用什么类型的哈希? 下面是WordPress哈希的一个示例: $p$Bp.ZDNMM98mGNxCtHSkc1DqdRPXeoR MD5为我工作,手动更改数据库。见: 如果散列不使用salt,则没有该符号。您案例中的实际哈希值位于第二个$ 这样做的原因是,您可以使用多种不同类型的散列,并将该字符串输入到知道如何将其与其他值匹配的函数中。这至少取决于所使用的PHP版本wp includes/class phpass.php包含所有答案。WordPress密码哈希器实现了,它用于

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”版本