我需要一个登录系统来检查用户密码。我知道盐密码,但我应该存储盐和加密的密码,还是应该只存储加密的密码,盐在我的应用配置文件中的某个地方?
请赞成和反对,如果有一些,谢谢!
发布于 2010-09-14 18:25:01
这取决于您如何使用盐进行加密...
如果盐不经常更改
我会把盐和万能钥匙一起放在一个安全的地方。将其与每个密码一起存储将会构成大量冗余数据。此外,数据库可能不像主密钥的存储位置那样安全。请记住,盐可能是密码安全的重要部分。(取决于用户选择的密码的长度和强度...)
如果salt 频繁更改,即每个加密的密码:
在这种情况下,您将需要存储大量的盐。因为一个盐只对一个密码的解密有用,它并不像上面的例子中那样重要,所以我想把它和密码一起存储在数据库中是可以的。无论如何,将盐存储在应用程序配置中可能会变得混乱。(除非您要创建一个特殊的盐数据库或类似的东西。)
发布于 2010-09-14 18:13:09
如果每个密码都有不同的salt,那么您必须将salt和散列密码存储在DB中。如果您只对所有密码使用一个salt,那么您可以将它们存储在其他位置类型的配置文件中。
https://stackoverflow.com/questions/3707717
复制相似问题