Uchome中的密碼加密以及加密的升級

來源:互聯網
上載者:User

  Uchome中對使用者密碼的加密規則是,當新使用者註冊時,為這個使用者產生一個六位的隨機字串$salt(我為自己帶鹽!),比如fy76e8,將這個$salt以及被$salt加密過的密碼存放在uchome的使用者資訊中心--Ucenter資料庫的uc_members表中(鄙視某些明文存放使用者資訊的網站,md5雖然不是不能被破解,但是起碼是加密了的):

  $password = md5(md5($password).$salt);  //對字串進行了兩次加密

  所以可以看出其實Ucenter.uc_members才是真的存放使用者資訊的地方,而Uchome.uchome_member基本是個擺設,看下do_login.php的代碼就知道,使用者輸入的資訊在Ucenter裡對比後會去修改本機使用者表uchome_member裡的資訊的。而使用者正確登陸後,會把uid+md5(pwd)放在uchome_session表裡,用以統計線上使用者的。

  但是,以上對密碼的加密不是不可破解的,所以可以升級下加密的規則,最起碼讓破解的成本增加一個層級:

  1.對$salt也進行加密:

$password = md5(md5($password).md5($salt));  //三次加密

  2.以上兩種方法其實還是有個問題,如果你的資料庫泄露了,別人就可以輕而易舉根據那些“鹽”來破解密碼了,所以再加一個東西:

$password = md5(md5($password).md5($_SECRET).md5($salt));

其中$_SECRET是一個記錄在設定檔裡(如config.inc.php)或者在初始化時(common.php)聲明的一個全域變數,不存放在資料庫裡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.