Hash passward with salted value

1 鹽值哈希的基本概念:html

哈希密碼利用特定的哈希函數將明文密碼轉換爲密文。然而,這樣的密碼也不是很是安全的,黑客能夠經過字典、彩虹表(網上就能夠免費下載)對這種密碼進行暴力破解,因此單純的哈希密碼還不足以應付安全問題。因此須要加入鹽值(salt value)。算法

   帶鹽值的哈希密碼,就是在原始密碼的基礎上添加一個「鹽值」,而後對新生成的明文進行哈希,獲得的密碼密文,就是帶鹽值的哈希密碼。 數據庫

2 工做原理:安全

帶鹽值的哈希密碼算法設計思想:函數

在首次建立密碼和修改密碼時:spa

1)將用戶提供的密碼和系統生成的一個比較複雜的附加碼(即鹽值)進行結合,對結合的結果進行哈希運算;.net

2)而後系統爲該用戶隨機生成一個指定長度的字節序列,把這個序列和剛剛哈希運算的結果進行結合,再進行哈希運算;設計

3)哈希結果與第二個鹽值結合,獲得最終的密文。存入數據庫。htm


當用戶登陸時,相應的驗證過程是:blog

1)用戶提供用戶名和密碼;

2)系統經過用戶名找到與之對應的Hash值和Salt值;

3)系統將Salt值和用戶提供的密碼鏈接到一塊兒;

4)對鏈接後的值進行散列,獲得Hash'

5)比較HashHash'是否相等,相等則表示密碼正確,不然表示密碼錯誤。


參考資料:

http://blog.sina.com.cn/s/blog_64ffd1280101ehro.html

http://blog.csdn.net/dingzhun/article/details/7044221

相關文章
相關標籤/搜索