0

我已经阅读了一些有关如何实现 password_hash() 的帖子,并尝试尝试一下。

当我在没有散列的情况下运行我的代码时,它工作正常,但是当我添加散列函数时,我遇到了麻烦。

麻烦,我的意思是页面只是空白,没有任何东西存储到数据库中。

这是与哈希和进入数据库相关的代码

//Hasing of pw 
$hash = password_hash($Password, PASSWORD_DEFAULT);


//Creation of member
$query_insert_user = "INSERT INTO `members` ( `Username`, `Email`, `Password`, `Activation`) VALUES ( '$name', '$Email', '$hash', '$activation')";

$Password 这里是从页面收集的明文密码。

我看不出是什么导致了这个问题。

任何指针将不胜感激。

4

2 回答 2

2

空白页可能是由于缺少启用的错误报告造成的。

函数password_hashpassword_verify需要 PHP 5.5.0 版才能工作。

使用下面的 PHP 版本会导致脚本失败。

于 2015-07-24T07:00:02.083 回答
0

该功能需要 PHP 5.5.0 版才能工作password_hashpassword_verify

如果您正在使用PHP version 5.5.0,请尝试

echo $hash; exit();

验证密码哈希的密码。您必须使用password_verify功能来验证密码。

password_verify验证给定的哈希是否与给定的密码匹配。

请注意, password_hash()返回算法、成本和盐作为返回哈希的一部分。因此,验证哈希所需的所有信息都包含在其中。这允许验证函数验证哈希,而无需单独存储盐或算法信息。

参考

于 2015-07-24T06:54:01.997 回答