bcrypt用盐怎么样?

时间:2012-04-09 18:55:15

标签: php salt crypt bcrypt

在安全方面,我有点新意,我一直在阅读php crypt并寻求好的建议,但没有人真正详细了解你如何在最有效的方式。

我做了一个测试登录,使用了这样的东西:

 //verify login from user input
$username = mysql_real_escape_string($_POST['username']);
$salt = '$2a$10$cdDegHjJLPUvVXYz23679.MOetNHBk9NTStpY9YjJWiL5ECfhHlSm';
$password = crypt(mysql_real_escape_string($_POST['password']), $salt);

(我确定有很多我需要更改以使其完全安全(例如限制密码字符串长度)请用你认为其他任何好的做法启发我)

我在某处读到了制作随机盐并将其与密码一起存储的理想选择(我不完全理解检查与密码无关的数字的概念)

然后我在某个地方读到,做一个随机盐是没有意义的,因为它不会增加安全性,并且静态盐会做的几乎相同。

我看到这个tutorial使用带有$ _GET的随机盐。 (告诉我这不对)

有人能指出我正确的方向让我的bcrypt尽可能有效。

由于

2 个答案:

答案 0 :(得分:1)

通过here查看此帖子上的旧答案。有一篇有趣的文章和phpass的链接。

答案 1 :(得分:1)

对每个密码使用随机盐非常重要。 PHP的crypt()函数的实现将自动包含在生成的哈希值中,因此存储它的位置没有问题,但应该从随机源正确生成它。

我写了一个小article about bcrypt in PHP,因为我认为了解函数的工作原理非常重要。一旦我们理解了它,我们就可以使用一个完善的库,如phpass