密码存储的发展史

纯文本密码存储阶段

最早期的时候,使用纯文本存储密码,不过存储密码的文件是加了密。

但是容易到SQl注入的风险。

加密算法密码存储阶段

后来使用以SHA-256为代表的HASH加密算法存储密码

不过也容易受到类似 彩虹表这样的算法的攻击。

加盐算法密码存储阶段

再到后来,以SHA-256为代表,使用加盐和Hash结合创建一个唯一的值,倒是有效避免了类似彩虹表这样的 lookup tables的攻击。

但是由于硬件的不断发展,每秒能执行上十亿次的恐怖算力,使得这种加密算发也不能再说是安全的。

自适应单项函数密码存储阶段

现在就发展了自适应单项函数的密码加密阶段,这种算法更加复杂,以至于加密验证都需要接近1s的时间。

密码存储的发展史

因此,使用类似以 BCryptPasswordEncoder为代表的算法时,不得不减少我们进行加密和验密的次数 ,这也解释了为啥要使用 access_tokcen存储在 session中进行传递身份的方式进行验证。

参考

Password Storage History

Original: https://www.cnblogs.com/shuds/p/15973071.html
Author: 車轱辘
Title: 密码存储的发展史

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/566760/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球