密碼加密

 

 

      任何一個正式的企業應用中,都不會在數據庫中使用明文來保存密碼的,我們在之前的章節中都是爲了方便起見沒有對數據庫中的用戶密碼進行加密,這在實際應用中是極爲幼稚的做法。可以想象一下,只要有人進入數據庫就可以看到所有人的密碼,這是一件多麼恐怖的事情,爲此我們至少要對密碼進行加密,這樣即使數據庫被攻破,也可以保證用戶密碼的安全。

 

1 、MD5算法

 

      最常用的方法是使用MD5算法對密碼進行摘要加密,這是一種單項加密手段,無法通過加密後的結果反推回原來的密碼明文,實際上它看起來像是一堆雜亂無章的亂碼。

 

      實際上,上面的實例在現實使用中還存在着一個不小的問題。雖然md5算法是不可逆的,但是因爲它對同一個字符串計算的結果是唯一的,所以一些人可能會使用“字典攻擊”的方式來攻破md5加密的系統。這雖然屬於暴力解密,卻十分有效,因爲大多數系統的用戶密碼都不回很長。

 

      更有甚者,有人專門提供了一些網站,你將MD5加密後的亂碼輸入,便可輕易查詢出其明文,比如http://www.cmd5.com/default.aspx等等。

 

2. 鹽值加密

 

 

      鹽值的原理非常簡單,就是先把密碼和鹽值指定的內容合併在一起,再使用md5對合並後的內容進行演算,這樣一來,就算密碼是一個很常見的字符串,再加上用戶名,最後算出來的md5值就沒那麼容易猜出來了。因爲攻擊者不知道鹽值的值,也很難反算出密碼原文。

 

 

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