简介
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 '密码错误';
}
声明:本站所有文章,如无特殊说明或标注,均为原创。