WordPress用戶密碼算法規則

  WordPress系統的用戶密碼是保存在wp_users數據表的user_pass字段,密碼是通過Portable PHP password hashing framework類產生的,密碼的形式是隨機且不可逆,同一個明文的密碼在不同時間,產生的密文也不一樣,相對來說較為安全。

  WordPress用戶密碼產生的過程是,當需要生成用戶密碼的時候,隨機產生了一個salt,然後將salt和password相加,又進行了count次md5,最後和encode64的hash數值累加,就得到了一個以$P$開頭的密碼,這個密碼每次產生的結果都不一樣,下面就是產生WordPress密碼的代碼,將其放在WordPress根目錄下,就可以生成一個加密的password,用這個密碼替換掉wp_users數據表的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);
 }
 echo $wp_hasher->HashPassword($password);
?>

  不過,修改WordPress用戶密碼還有更簡單的方法,就是直接將wp_users數據表的user_pass字段修改為32位的md5(passowrd)即可修改密碼為password,這樣的密碼形式當然不是很安全,所以,當這個用戶在WordPress登錄後,系統會自動將MD5密碼修改為以$ P$開頭的密碼。

  WordPress的這種支持簡單md5格式的密碼使得其他系統(例如Ucenter系統)的用戶整合WordPress更為簡單。

文章轉載月光博客



Comments are closed.