1. 程式人生 > >常見的使用者密碼加密方式以及破解方法

常見的使用者密碼加密方式以及破解方法

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