我有一个包含表单的页面。我将数据通过AJAX传递到PHP脚本,该脚本在后台执行某些操作,并返回JSON编码的数组。
{"type": , "user":, "loginKey":}
类型是1到3之间的一种,用户是用户名,loginKey是由函数创建的。
PHP执行以下操作:获取用户输入,对其进行清理,通过对行进行计数来检查用户是否存在于数据库中。如果数据库中有用户,则运行以下哈希算法
function hashing($user, $pass, $mail){
$pass=md5($pass);
$pass=md5($pass.$user);
$pass=md5($pass.$mail);
return $pass;
}
数据被传递回我的函数,检查哈希值是否与数据库中的值相对应,然后继续创建loginKey
$key=md5($pass.date("Y-m-d H:i:s"));
$pass
是我们从函数中获得的哈希值。
之后,它将使用这个新的loginKey
更新我的数据库,最后将其返回以打印在我的JSON编码数组中。
这里的问题是我的功能并不总是起作用。有时,即使它用一个好的值更新数据库中的loginKey,它也会返回0(更新后只有return $key;
)。
已解决
我使用MD5
哈希类型将哈希从password_hash()
更改为Argon2
,现在每次都可以使用。好像是md5哈希存在一个错误,因为我没有更改代码中的其他内容。
答案 0 :(得分:1)
已解决
我将Argon2哈希类型的哈希值从MD5更改为password_hash(),现在每次都可以使用。好像是md5哈希存在一个错误,因为我没有更改代码中的其他内容。