1

我不明白这是如何工作的

$hash = $bcrypt->hash($_POST['password']); //this string is stored in mysql

然后当用户登录时,

//get hash string from above from mysql, then

if ($bcrypt->verify($_POST['password'], $row['password'])) {
   echo "Logged in.";
}

A.) 我这样做正确吗?

B.)如果是这样,如果盐没有存储在数据库中,bcrypt 如何记住盐?

4

1 回答 1

1

盐被预先添加到散列中,因此该函数将盐从数据库中的散列中提取出来。这就是为什么您必须将哈希值从数据库传递给验证函数,而不是仅仅重新散列密码并比较它们。

是的,看起来你做得对。

于 2012-10-04T00:28:53.357 回答