discuz論壇用戶密碼加密原理

一般我們的加密都是採用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)匹配密

 

碼,如果一樣就登陸成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章