我使用crypt来哈希用户密码,并在用户注册我的应用程序时将哈希密码存储到我的数据库中。 然后当用户在我的应用程序中登录时,我从我的数据库中检索加密的密码,并将新的哈希密码与初始哈希密码进行比较。 我的问题是我永远不会得到同样的价值。 我读过使用带有初始密码的salt来提高安全性。 我的代码如下:
$sql = "SELECT password FROM users WHERE mail =:mail";
$sth = $dbh->prepare($sql);
$sth->execute(array(':mail'=>$mail));
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
if (count($result) == 1){
$interne = $result[0]['password'];
$crypt = crypt($pass, $interne);
if($interne === $crypt){
echo "loggedin";
}
答案 0 :(得分:1)
答案 1 :(得分:-1)
您可能不允许nuff放置数据库中的完整哈希值。你有没有像这样设置varchar 40或somethinng?如果是,允许255 varchar,它应该工作