【问题标题】:What is a good alternative to SHA1 hashing for password storage? [closed]用于密码存储的 SHA1 散列有什么好的替代方案? [关闭]
【发布时间】:2012-08-18 05:38:17
【问题描述】:

我有一个使用 SHA1 哈希作为密码的网站。我最近阅读了以下文章,该文章主张不要将 SHA1 用于密码,因为 SHA1 从未设计用于保护密码:http://arstechnica.com/security/2012/08/passwords-under-assault/4/

您能否推荐一个我可以实现而不是 SHA1 的好方法,并请提供一个教程链接,该教程描述了如何使用 php 逐步实现该加密方法?

【问题讨论】:

  • 这在 PHP 问题的 faq 选项卡中得到解决。
  • @Paul: sha1 速度太快,会促进暴力攻击。 (正确)加盐只保护密码免受字典/彩虹表攻击。
  • Jeff 在他的博客中写过一次。这是Good read!
  • 你想要散列,而不是加密。

标签: php security sha1


【解决方案1】:

首先,SHA1 不是加密算法,它是一种散列算法。

对于密码哈希,我建议使用PHPass。它基本上使用了安装代码的系统上可用的最佳哈希算法。

phpass 支持的首选(最安全)散列方法是 基于 OpenBSD 风格 Blowfish 的 bcrypt,我们的公众也支持 域 crypt_blowfish 包(用于 C 应用程序),在 PHP 中已知 作为 CRYPT_BLOWFISH,回退到基于 BSDI 风格的扩展 DES 哈希,在 PHP 中称为 CRYPT_EXT_DES,最后的手段是回退到 基于 MD5 的加盐和可变迭代计数密码哈希 在 phpass 本身中实现(也称为可移植哈希)。

【讨论】:

    【解决方案2】:

    bcryptscrypt,然而,对于 php 并没有真正的 scrypt 实现。这篇文章值得一读,应该为您提供所需的所有信息:http://www.zimuel.it/en/strong-cryptography-in-php/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-14
      • 2011-02-05
      • 2013-02-16
      • 2012-08-09
      • 1970-01-01
      • 2015-06-29
      • 2014-02-09
      • 2011-03-30
      相关资源
      最近更新 更多