WordPress教程

WordPress 是如何加密和验证密码

阿里云

我们进行在 WordPress 中是如何加密和验证用户的密码的呢?WordPress 主要使用了两个函数:wp_hash_password() 和 wp_check_password():

wp_hash_password($password) 把一个纯文本加密成密文。

也想出现在这里?联系我们
创客主机
  1. function wp_hash_password( $password ) {
  2.   global $wp_hasher;
  3.  
  4.   if ( empty( $wp_hasher ) ) {
  5.     require_once ABSPATH . WPINC . '/class-phpass.php';
  6.     // By default, use the portable hash from phpass.
  7.     $wp_hasher = new PasswordHash( 8, true );
  8.   }
  9.  
  10.   return $wp_hasher->HashPassword( trim( $password ) );
  11. }

wp_check_password($password, $hash, $user_id = '') 把纯文本和密文进行比对来验证密码。

  1. function wp_check_password( $password, $hash, $user_id = '' ) {
  2.   global $wp_hasher;
  3.  
  4.   if ( empty( $wp_hasher ) ) {
  5.     require_once ABSPATH . WPINC . '/class-phpass.php';
  6.     $wp_hasher = new PasswordHash( 8, true );
  7.   }
  8.  
  9.   $check = $wp_hasher->CheckPassword( $password, $hash );
  10.  
  11.   return apply_filters( 'check_password', $check, $password, $hash, $user_id );
  12. }

从上面的代码可以看出,WordPress 是使用一个 phpass(全称是:Portable PHP password hashing framework)开源的类生成和验证密码的。

WordPress 是如何加密和验证密码

已有 180 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!