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