我已经阅读了一些关于如何实现password_hash()的帖子,并尝试过这个。
当我在没有散列的情况下运行我的代码时,它工作正常但是当我添加散列函数时,我遇到了麻烦。
由于麻烦,我的意思是页面空白,没有任何内容存储在数据库中。
以下是与散列和输入DB
相关的代码//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这里是从页面收集的明文密码。
我看不出是什么导致了这个问题。
任何指针都会非常感激。
答案 0 :(得分:2)
答案 1 :(得分:0)
函数password_hash
和password_verify
需要PHP 5.5.0才能运行。
如果您使用PHP version 5.5.0
,请尝试
echo $hash; exit();
验证密码哈希的密码。您必须使用password_verify
功能来验证密码。
password_verify
验证给定的哈希值是否与给定的密码匹配。
请注意 password_hash()
会返回算法,cost和salt作为返回哈希的一部分。因此,验证哈希所需的所有信息都包含在其中。这允许验证函数验证散列,而无需为salt或算法信息单独存储。