因为Spring弃用了旧的接口
org.springframework.security.crypto.password.PasswordEncoder;我在寻找替代方案,
org.springframework.security.authentication.encoding.PasswordEncoder;我的搜索指向:https://stackoverflow.com/a/18678325
我测试了bcrypt,我对它的工作原理很感兴趣。
https://stackoverflow.com/a/6833165的解释给我指出了一个问题。
如果$2a$10$ZaDBCZaI59IMdKuBiRdubuMa2h/itIYIwqLHpS1q245ISD90xsjkW包含关于编码类型和salt等的所有信息,并且这些信息存储在我的数据库中,那么为什么要保存它?如果有人有这个“哈希”,他可以很容易地用暴力破解它。
在我之前的项目中,我使用了一个带有系统范围的秘密盐的SHA编码。在这种情况下,从数据库中窃取的散列不容易被解密。
那么为什么bcrypt比使用系统级盐的SHA更受欢迎呢?
发布于 2013-11-11 18:31:17
2分:
https://stackoverflow.com/questions/19903903
复制相似问题