IT-数据加密和解密
1、直接明文保存
非常不安全
2、使用对称加密算法来保存
比如3DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的,当然前提条件是需要获取到密钥。
3、使用MD5、SHA1等单向HASH算法保护密码
实现比较简单,因此很多互联网公司都采用这种方式保存用户密码。随着彩虹表查表破解兴起相对不安全。
4、特殊的单向HASH算法
在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质。
5、PBKDF2算法,
该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。
上的提升。
彩虹表的根本原理就是组合了暴力法和查表法
注意:所有这些彩虹表都有其特定适用的密码长度和字母组合。太长的密码(如数十位),或者包含表中没有的字符,那么用彩虹表就无法破解。
彩虹:https://blog.csdn.net/gscaiyucheng/article/details/17113073