使用强加密(AES 192左右)对存储在数据库中的散列和加盐密码进行加密是常识,还是我们只是瞄准了明星?
当然,加密密钥不会在数据库本身中,而是会保存在一个安全的地方。
非常感谢!
发布于 2010-05-12 18:19:27
我不是安全专家,我不知道您运行的是哪种应用程序,也不知道您使用的是哪种设置。但如果我要做一个普通的旧网络应用,我只会使用加盐的哈希。
无论如何,您将在应用服务器上存储密钥(如果使用非对称密钥加密,则存储公钥,因为您可以加密用户提供的密码的散列,并将其与数据库中的值进行比较)。
如果您主要担心有人入侵您的数据库服务器,那么入侵应用程序服务器会更困难吗?
如果有人尝试通过应用程序服务器进行字典攻击,则无论哪种方式,都将进行相同次数的尝试。你只需要检测并阻止它。
加密加了盐的散列唯一有用的情况是攻击者可以得到加密值,但不能获得密钥。我想这取决于您是否希望在您的系统中实现这一点。
发布于 2010-05-12 17:28:33
无需对加盐和散列的密码进行加密。
当使用一个好的算法对密码进行盐化和哈希处理时,并不能提高安全性。
当你加密它时,你必须以某种方式管理密钥,这只会使事情变得复杂。
为每个密码使用一个加密生成的salt,并使用良好的散列算法。
有关更多信息,请参阅此问题:Best way to store password in database
发布于 2010-05-12 23:10:25
密码应该始终是散列的,而不是加密的,除非你确实需要找回密码。密码检索本身通常不被认为是好的做法。
https://stackoverflow.com/questions/2817454
复制相似问题