md5加密qwerty - azerty错误

时间:2011-09-16 13:40:33

标签: php md5

对于我的php-login系统与MySQL数据库的结合,我使用md5 - 加密来在用户注册时转换密码。在Windows主机上一切正常, 但是现在我把主机改成了Linux。 现在,当我注册一个示例用户,密码为“azerty”时,我无法登录... 当我以“qwerty”作为密码登录时,它可以工作。 所以就像md5函数将我的键盘读作qwerty键盘而不是azerty ......

我该怎么做才能解决这个问题?

修改

在注册脚本中我这样做:

$password = md5($password);

然后将$password保存到我的数据库中。

loginscript检查:

if ($username == $dbusername && md5($password) == $dbpassword)

1 个答案:

答案 0 :(得分:1)

切换主机无关紧要。如果您可以使用“querty”登录,那么您必须无意中注册并使用“querty”

当您测试系统时,请使用正常的<input type="text">,这样您就可以查看您正在键入的内容。完成测试后切换<input type="password">。此外,添加“验证密码”字段,以便您可以验证用户是否意外错误地输入了密码。

安全密码存储入门

在users表中添加一个名为“salt”的字段

在注册脚本中执行以下操作:

$salt = time();
$code = hash('sha256', $password . $salt);

$code$salt保存在users表中。

在loginscript中检查:

if ($username === $dbusername && hash('sha256', $password . $dbsalt) === $dbpassword)