小编Suz*_*uzy的帖子

Bcrypt(4)(= 4次迭代)与SHA512或每个密码的唯一盐不同的东西?

背景:

我想添加一个登录到我的小网站,这是一个在线php应用程序,我想建立,以便将来能够承担很多用户活动.

在我进一步研究实现LightOpenID之前,我想添加一个正常的登录.我正在学习的这本书名为Head First PHP&MySQL(2008),本章的最终代码SHA('$user_password')用作mysql查询的一部分.

当我对Jeff Atwood的写作感兴趣时,我很清楚bcrypt的scrypt.但是看到没有scrypt的php实现并且没有专用服务器来运行它,我决定至少考虑实现bcrypt.

但是我并不完全天真,我知道我应该注意不要过度扩展我非常谦逊的托管资源.php应用程序本身应始终先出现在资源之前.

Andrew Moore的方法看起来不错(虽然我必须看看如何在我的主机使用的php 5.2.17上实现它)并且它附带了硬件速度提示:

您应该选择导致200-250毫秒工作的轮数.bcrypt安全的部分原因是它很慢.你必须确保有一些保持这种特性的回合. - 安德鲁摩尔

另一个用户表示,对于他来说,跑步microtime()给予Bcrypt(9)0.314,因此接近最佳状态.

问题:

看来我只有非常谦逊的资源可供我使用,我想充分利用它们,留下最多的PHP应用程序本身,我还是更好地使用Bcrypt(4)而不是其他东西?

Bcrypt(4)几乎立即返回true,但是它仍然保留了Moore所说的那个特性吗?(这会是关于RAM的部分会让GPU更难实现吗?)或者SHA512 或其他什么实际上会更快但更安全在此刻?

我希望Bcrypt(4)在这种情况下获胜,但我知道对吗?:p

php passwords cryptography password-protection bcrypt

5
推荐指数
1
解决办法
1041
查看次数