十一年专注,只做WordPress定制开发一件事

如何生成WordPress加密类型的密码以及密码验证方法

王超
2020-09-18
主题开发
3,990 次

WordPress用户的密码是保存在wp_users数据表中的user_pass字段中的,保存的是已经加密的密码,密码的加密是通过Portable PHP password hashing framework类产生的,密码的形式是随机且不可逆,同一个明文的密码在不同时间,产生的密文也不一样,相对来说较为安全。

有时在WordPress主题开发过程中,我们可能会需要自己生成一个加密好的密码,然后保存到用户的user_pass字段中,这个时候我们可以使用下面的方法:

<?php
 $password = 'abc';
 global $wp_hasher;
 if ( empty($wp_hasher) ) {
  require_once( './wp-includes/class-phpass.php');
  $wp_hasher = new PasswordHash(8, TRUE);
 }
 $encryption_password = $wp_hasher->HashPassword($password);
?>

其中的$encryption_password就是加密后的密码了,我们可以直接把他储存到数据表中。

如果不是必须直接操作数据去保存密码的话,其实我们可以使用wp_update_user()方法为指定用户设置或更新密码,使用这个方法的时候我们直接使用密码明文就可以了,不需要提前加密。使用方法如下:

$user_id='1';
$password = "12345678";
wp_update_user( array( 'ID' => $user_id, 'user_pass' => $password ) );

希望以上内容对您有所帮助。

文章标签:

WordPress日记主要承接WordPress主题定制开发PSD转WordPressWordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310

搜索

嘿,有问题找我来帮您!