天天看點

常見使用者密碼加密算法

【轉】http://blog.csdn.net/edgar_zhang2014/article/details/52910455

PBKDF2算法,該算法原理大緻相當于在HASH算法基礎上增加随機鹽,并進行多次HASH運算,随機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。使用PBKDF2算法時,HASH算法一般選用sha1或者sha256,随機鹽的長度一般不能少于8位元組,HASH次數至少也要1000次,這樣安全性才足夠高。一次密碼驗證過程進行1000次HASH運算,對伺服器來說可能隻需要1ms,但對于破解者來說計算成本增加了1000倍,而至少8位元組随機鹽,更是把建表難度提升了N個數量級,使得大批量的破解密碼幾乎不可行,該算法也是美國國家标準與技術研究院推薦使用的算法。

bcrypt、scrypt等算法,這兩種算法也可以有效抵禦彩虹表,使用這兩種算法時也需要指定相應的參數,使破解難度增加。

本文轉自fatshi51CTO部落格,原文連結:http://blog.51cto.com/duallay/1958747 ,如需轉載請自行聯系原作者

繼續閱讀