Php 对于密码存储,什么是SHA1哈希的好替代方案?

Php 对于密码存储,什么是SHA1哈希的好替代方案?,php,security,sha1,Php,Security,Sha1,我有一个网站,使用SHA1哈希密码。我最近阅读了以下文章,其中主张不要将SHA1用于密码,因为SHA1从未设计用于保护密码: 你能推荐一个好的hasing方法来代替SHA1吗?请提供一个到教程的链接,该教程描述了如何使用php一步一步地实现该加密方法?bcrypt或scrypt,但是,没有针对php的真正的scrypt实现。这篇文章值得一读,应该会提供您所需要的所有信息:首先,SHA1不是一种加密算法,它是一种哈希算法 对于密码散列,我建议使用。它基本上使用了安装代码的系统上可用的最佳哈希算法

我有一个网站,使用SHA1哈希密码。我最近阅读了以下文章,其中主张不要将SHA1用于密码,因为SHA1从未设计用于保护密码:


你能推荐一个好的hasing方法来代替SHA1吗?请提供一个到教程的链接,该教程描述了如何使用php一步一步地实现该加密方法?

bcrypt
scrypt
,但是,没有针对php的真正的scrypt实现。这篇文章值得一读,应该会提供您所需要的所有信息:

首先,SHA1不是一种加密算法,它是一种哈希算法

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

phpass支持的首选(最安全)散列方法是 基于OpenBSD风格的河豚bcrypt,我们的公共服务也支持它 域crypt_blowfish包(用于C应用程序),在PHP中已知 作为CRYPT_河豚,使用BSDI风格的扩展DES 散列,在PHP中称为CRYPT_EXT_DES,是最后一种回退到 基于MD5的salt和可变迭代计数密码哈希 在phpass本身中实现(也称为可移植散列)


这在PHP问题的faq选项卡中有说明。@Paul:
sha1
速度太快,会引发暴力攻击。(正确)Salting只保护密码免受字典/彩虹表攻击。Jeff曾在他的博客中写道。这是一个你想要的散列,而不是加密。