一般我們的加密都是採用md5加密方式:md5(變量)。但是昨天需要整合discuz的論壇,看
他的加密方式也像是md5,但是簡單的123加密後竟然解密不出來。後來在網上查了一下,
發現他不只是簡單的md5加密,而是“md5+隨機”。當然這樣更安全了。
網站安全了,程序自然也就複雜了...
discuz的加密方式:md5(md5($password).$salt),$salt是一個6位隨機數。
註冊的時候,把用戶的密碼用md5(md5($password).$salt)加密,$salt是一個6位隨
機數字,下面是我的一個獲取6位隨機數的一個方法:
function randstr($len=6) {
$chars='abcdefghijklmnopqrstuvwxyz0123456789';
//characters to build the password from
mt_srand((double)microtime()*1000000*getmypid());
// seedthe random number generater (must be done)
$password='';
while(strlen($password)<$len)
$password.=substr($chars,(mt_rand()%strlen($chars)),1);
return $password;
}
$salt=randstr();把randstr()賦值給$salt,然後用md5(md5(會員提交的密
碼).$salt)加密就可以了,但是千萬不要忘了把$salt入庫哦(uc_members表)。
登陸的時候根據用戶名把$salt取出來,用md5(md5(會員提交的密碼).$salt)匹配密
碼,如果一樣就登陸成功了