【发布时间】:2014-10-26 17:15:14
【问题描述】:
当用户在我的应用程序中注册时,我使用 crypt 对用户密码进行哈希处理并将哈希密码存储到我的数据库中。 然后,当用户登录我的应用程序时,我从我的数据库中检索加密密码,并将新的哈希密码与初始哈希密码进行比较。 我的问题是我从来没有得到相同的价值。 我读过使用带有初始密码的盐来提高安全性。 我的代码如下:
$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";
}
【问题讨论】: