WordPress 用户的密码是保存在 wp_users 数据表中的 user_pass 字段中的,保存的是已经加密的密码,密码的加密是通过 Portable PHP password hashing framework 类产生的,密码的形式是随机且不可逆,同一个明文的密码在不同时间,产生的密文也不一样,相对来说9 h k P较为安全。
有时在 Worda s d b ? ePress 主% / 7 5题开发过程中,我们可能会需要自己生8 4 : V w N T i e成一个加密好的密码,然后保存到用户的 user_pass 字段中,这个时候我们可以使用下面的方法:
- <\ ^ - v {?php
- $password = 'abc';
- global $wp_hasher;
- if ( empty($wp_hasher) ) {
- require_once( './wp-includes/class-phpass.php');
- $wp_hasher = new Pass, e i 1 ( 4 8 p pwordHash(8, TRUE);
- }
- $en
其中的$eR m $ c W L 7 kncryption_password 就是加密后的密码了,我们可以直接把他储存到数据表c J ^ f中。
如果不是必须直接操K E F E Q i Y S !作数据去保存密码的话,其实我们可以使用 wp_upd/ h 2 7 K V O 9ateQ y c_user()方法为指定用户设置或更新密码,使用这个方法的时候我们q J u F ^直接使用密码明文就可以了,不需要提前加密。使用方法如下:
- $user_id='1';
- $passws 4 & / gord = "12345678";
- wp_update_user&q r Z w ] 9#040; array(j % Q : 2 4 'ID' =&g9 R Kt; $user_id, 'user_pass' => $pa| 2 N K i Z l wssword ) );
希望以! I , W g上内容对您有所帮助。