这是我创建帐户的 mysql 查询。为了方便起见,我省略了加盐。
$q = $dbc -> prepare("INSERT INTO accounts (username, email, password)
VALUES (?, ?, ?)");
$q -> execute(array($_POST['username'], $_POST['email']
,hash('sha256', $_POST['password'])));
这就是我想要的,将散列密码插入数据库,现在是我的登录脚本;
if ($count == 1 && $info['password'] === hash('sha256', $_POST['password'])
&& $info['logcount'] != -1) { // successful login
这个语句总是返回 false,我尝试了不同的操作,即 (=, ==),我相信这是一个简单的解决方案。
此外,如果您有任何好的腌制技术,请分享:)
谢谢。
最佳答案
为什么用===做类型检查?也许只是
$info['password'] == hash('sha256', $_POST['password'])
?
关于php - 带有散列密码和用户登录的新手 php 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687149/