使用强加密(AES 192 左右)对存储在数据库中的哈希和加盐密码进行加密是常识,还是我们只是针对星星?
当然,加密密钥不会在数据库本身,而是保存在安全的地方。
非常感谢!
使用强加密(AES 192 左右)对存储在数据库中的哈希和加盐密码进行加密是常识,还是我们只是针对星星?
当然,加密密钥不会在数据库本身,而是保存在安全的地方。
非常感谢!
无需加密加盐和散列的密码。
当使用良好的加密算法对密码进行加盐和哈希处理时,它不会提高安全性。
当你加密它时,你必须以某种方式管理密钥,这只会使事情复杂化。
为每个密码使用加密生成的盐,并使用良好的散列算法。
有关更多信息,请参阅此问题:Best way to store password in database
我不是安全专家,我不知道您正在运行什么样的应用程序或您拥有什么样的设置。但如果我正在制作一个普通的网络应用程序,我会选择加盐哈希。
无论如何,您都将在应用程序服务器上存储密钥(或公钥,如果您使用非对称密钥加密,因为您可以加密用户提供的密码哈希并将其与数据库中的值进行比较)。
如果您主要担心有人闯入您的数据库服务器,那么闯入应用程序服务器是否更难?
如果有人尝试通过应用服务器进行字典攻击,无论哪种方式都将采用相同的尝试次数。您只需要检测并阻止它。
加密加盐散列有用的唯一情况是攻击者可以得到加密值而不是密钥。我想这取决于你决定这是否是你想要的系统。
除非您确实需要密码检索,否则密码应始终经过哈希处理而不是加密。密码检索本身通常不被认为是好的做法。