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 '密码错误';
}
收藏
评论
打赏
WordPress 主题开发
WordPress 发送邮件
2023-07-26
WordPress 主题开发
WordPress 上传附件
2023-09-11
飞翔的鱼丸
39479 阅读
82 发布
2 收藏
动态
FishV 主题 v1.21.0 发布
LandV 企业主题 v2.8.0 发布
MirageV 主题 v2.6.4 发布
FishV 主题 v1.14 发布
MirageV 主题 v2.5 正式发布
BotV 插件 v1.7.0 发布
LandV 企业主题 v2.6.0 发布
MirageV 主题 v2.6.0 发布
生成中...
真诚赞赏,手留余香
登录
注册
重置密码