收录了这篇文章
简介
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
声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。