WordPress 密码生成和密码验证

本文被收录到:

WordPress 开发文档

WordPress是一款能让您建立出色网站、博客或应用程序的开源软件。美观的设计,强大的功能,助您自由发挥心中所想。WordPress既是免费的,也是无价的。全世界 43% 的网站都在使用WordPress,小到兴趣博客,大到新闻网站。

目录

简介

WordPress户密码保存在wp_users数据表的user_pass字段,密码的形式是随机且不可逆,同一个明文的密码在不同时间,产生的密文也不一样。

密码生成流程

1、 随机产生一个salt 并将salt和password相加

2、 进行了count次md5 然后和encode64的hash数值累加

3、 最后得到一个以$P$开头的密码,这个密码每次产生的结果都不一样

以下为在wordpress中调用密码生成的代码

$password = '123';
global $wp_hasher;
if ( empty($wp_hasher) ) {
    require_once( './wp-includes/class-phpass.php');
    $wp_hasher = new PasswordHash(8, TRUE);
}
$user_pass = $wp_hasher->HashPassword($password); // 生成密码

$data = $wp_hasher->CheckPassword($password,$user_pass); // 检验密码
if($data){
    echo '密码正确';
} else {
    echo '密码错误';
}

PasswordHash 在 \wp-includes\class-phpass.php 中。

 

另外 WordPress 封装的有两个函数,也很好用:

//原始密码
$passwordValue  = "test";
$sigPassword    = wp_hash_password($passwordValue);
$data           = wp_check_password($passwordValue, $sigPassword);
if($data){
    echo '密码正确';
}else{
    echo '密码错误';
}

 

重置密码 SQL:

UPDATE wp_users SET user_pass = MD5('new_password') WHERE user_login = 'username';

修改时间 2024-05-15

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
真诚赞赏,手留余香
赞赏
随机推荐
github Support for password authentication was removed
WordPress WP_Query() 文章置顶的方法
如何调整 iconfont 图标的位置和基线
JavaScript 对象
MySQL 字符串截取函数 SUBSTRING_INDEX
如何使用命令修改 MySQL 数据库名称
Nginx 的 location 设置
curl 的用法指南