在wordpress2.5以前,账户密码一直是用md5加密的,所以可以直接通过数据库加密; 但WP2.5以后引入了PasswordHash密码机制,如果你仔细查看数据库就会发现,相同的密码明文加密之后的密文是不同的; 而且算法并没有直接集成在php函数库中,那么怎么直接修改忘了的密码呢?(通过WP自带的email自制可以修改,这里只讨论直接修改WP的密码)。
经过查看WP的我发现也就只需要几步,就可以直接修改密码 ![]()
WP新的密码机制可以在 http://www.openwall.com/phpass/ 查看,但是这里用不到;
只要在WordPress的根目录新建一个 .php 文件,然后按下面的写入代码即可;
< ?php
require_once('./wp-config.php'); //载入wp的函数库和基本配置
require_once('./wp-includes/pluggable.php');
$password = "000123";
$user = "tty1";
$hash = wp_hash_password($password); //这个就是新版的加密函数了
$wpdb->query( “UPDATE wp_users SET user_pass = ‘$hash’ WHERE user_login = ‘$user’ “);
?>
把上面的 $user 和 $password 换成你自己的就OK了。 也可以用我写的php脚本(点击下载),解压后放在WP的根目录即可,如: http://mifunny.info/change-wp-pass.php
以下是改脚本运行截图:

我是直接进myphpadmin进行修改的…很麻烦 还要转换…
你的方法简单多了.
恩,这个方法好。就像discuz等程序的密码恢复系统,一个文件,方便多了。
你的方法很好,我也是这样改过来的,不过你的那个文件好像不行,我直接用你写出来的代码改的,一改就可以了。谢谢了。
那个文件里还调用了其他函数,可能是那里出问题
谢谢你的帮助!
看了看网上的文章,都说是md5加密。
新版本的Wordpress一看就不是md5嘛~
一看你的文章才是恍然大悟~~
你的文章是我见过的第一篇正确理解新版wordpress密码机制的文章。
受教了~
感谢,问题解决。