【问题标题】:Password Encryption with ColdFusion and MySQL使用 ColdFusion 和 MySQL 进行密码加密
【发布时间】:2011-11-02 06:31:02
【问题描述】:

我正在寻找有关在我的 ColdFusion/MySQL 应用程序中加密/解密密码的最佳方法的一些帮助/建议。我应该使用 MD5、SHA、BCrypt 吗?我应该直接在 MySQL 中进行加密还是使用 ColdFusion 来处理?

只是在这方面寻求一些帮助和一些例子来帮助我前进。

此应用程序的安全性非常重要,因为我们将存储敏感信息。

任何帮助都会很棒。

提前致谢。

【问题讨论】:

标签: mysql encryption coldfusion passwords


【解决方案1】:

带有盐或 BCrypt 的 SHA-256 或更高版本。

我会在 CF 层执行,因为代码将受到源代码控制。

http://blog.mxunit.org/2011/02/hashing-passwords-with-bcrypt-in.html

http://www.12robots.com/index.cfm/2008/5/21/Salting-Passwords-Security-Series-4.3

【讨论】:

    【解决方案2】:

    如果您希望密码安全,请绝对不要使用 MD5,因为它可以被破解。也不推荐 SHA-1。

    至少使用 SHA-256 会更安全,例如在 CF 中这样:

    variables.hashedPassword = Hash(variables.Password,"SHA-256");
    

    至于选择在哪里进行加密 - 这取决于您要使用它的确切用途,一次加密的密码数量等。如果只是一次,那并不重要。

    【讨论】:

      【解决方案3】:

      我使用 ColdFusion 进行所有加密/解密。 ColdFusion 让它变得非常容易。我通常使用 Blowfish 加密并让 ColdFusion 生成密钥值。然后在 Application.cfm 文件中将其设置为静态值。

      这里有更多信息:Enrypt()

      【讨论】:

        【解决方案4】:

        很高兴您关心密码的强哈希。我会推荐使用scrypt 库。 Colin Percival 发明了它以与 tarsnap 一起使用,他对 scrypt 进行了很好的比较,可在 tarsnap 网站上找到(抱歉,由于 rep

        我通常对加入使用加密货币的潮流持谨慎态度,这种加密货币使用时间不长,并且得到了加密货币社区的充分审查。因此,我对使用 scrypt 有点保留,因为在这方面它仍然相当“新”。我通过 Twitter 咨询了安全专家Steve Gibson 关于这个问题,这是他的回复:

        @SGgrc 对使用 bcrypt 与 scrypt 的 PBKD 进行 Web 应用程序有什么想法吗? [原文]

        @geekmuse SCrypt 比对硬件加速的抵抗力更强 加密货币。所以我想说,如果您的应用程序可以使用它,请使用它。 :)

        @SGgrc 会的——感谢您提供的信息!我唯一的犹豫是 加密社区似乎没有那么彻底地审查。

        @geekmuse 明白了,在加密货币中,保守永远不会 错误的。但目前,SCrypt 是最好的内存硬解决方案 可用。

        此外,ColdFusion 的内置加密(至少是企业版)使用 RSA BeSafe 的库,现在强烈怀疑该库因 NSA 而受到损害(取决于使用哪种 PRNG,但仍然......),所以通过查看一些最近发布的算法,您正在做正确的事情。

        Github (github.com/wg/scrypt) 上有一个基于 Java 的 scrypt 实现,它应该非常适合在您的 ColdFusion 应用程序中使用。

        最后,虽然我知道您的问题特别提到了用户密码的强加密,但取决于您存储的数据的敏感性,您可能还需要认真考虑在敏感数据还在数据库中时对其进行加密.这样,如果您的数据被泄露,您可以更轻松地知道它是静态加密的(除非您的密钥也被泄露,但您希望将其存储在与应用程序实际数据库不同的位置进入)。

        【讨论】:

          猜你喜欢
          • 2018-12-10
          • 1970-01-01
          • 2021-06-10
          • 1970-01-01
          • 2016-04-10
          • 1970-01-01
          • 1970-01-01
          • 2011-08-11
          • 2011-04-26
          相关资源
          最近更新 更多