【问题标题】:Encrypt hashed passwords?加密散列密码?
【发布时间】:2011-02-18 12:50:23
【问题描述】:

使用强加密(AES 192 左右)对存储在数据库中的散列和加盐密码进行加密是常识还是我们只是针对星星?

当然,加密密钥不会在数据库本身,而是保存在安全的地方。

非常感谢!

【问题讨论】:

    标签: database encryption hash salt


    【解决方案1】:

    无需加密加盐和散列的密码。
    当使用良好的加密算法对密码进行加盐和散列处理时,不会提高安全性。
    当你加密它时,你必须以某种方式管理密钥,这只会使事情复杂化。

    为每个密码使用加密生成的盐,并使用良好的散列算法。
    有关更多信息,请参阅此问题:Best way to store password in database

    【讨论】:

      【解决方案2】:

      我不是安全专家,我不知道您正在运行什么样的应用程序或您有什么样的设置。但如果我要制作一个普通的网络应用程序,我会选择加盐哈希。

      无论如何,您都将在应用程序服务器上存储密钥(或公钥,如果您使用非对称密钥加密,因为您可以加密用户提供的密码哈希并将其与数据库中的值进行比较)。

      如果您主要担心有人闯入您的数据库服务器,那么闯入应用程序服务器是否更难?

      如果有人尝试通过应用服务器进行字典攻击,无论哪种方式都将采用相同的尝试次数。您只需要检测并阻止它。

      加密加盐散列有用的唯一情况是攻击者可以得到加密值而不是密钥。我想这取决于你的系统是否是你想要的。

      【讨论】:

        【解决方案3】:

        除非您确实需要找回密码,否则应始终对密码进行哈希处理而不是加密。密码检索本身通常不被认为是好的做法。

        【讨论】:

          猜你喜欢
          • 2011-06-23
          • 2018-01-20
          • 2016-08-21
          • 2018-05-16
          • 1970-01-01
          • 2010-09-24
          • 2015-02-17
          • 2016-07-30
          • 2015-08-20
          相关资源
          最近更新 更多