首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >md5加密qwerty错误

md5加密qwerty错误
EN

Stack Overflow用户
提问于 2011-09-16 13:40:33
回答 1查看 358关注 0票数 0

对于我的php登录系统和一个MySQL数据库,当用户注册自己时,我使用md5加密来转换密码。在Windows主机上一切都很好,但现在我已经将主机改为Linux了。现在,当我注册一个示例用户时,我的密码是"azerty",我无法登录.当我尝试以"qwerty“作为密码登录时,它可以工作。所以这就像md5函数把我的键盘当作一个qwerty键盘,而不是把我的键盘当作一个无限期的.

我能做些什么来解决这个问题?

编辑:

在寄存器脚本中,我这样做:

代码语言:javascript
复制
$password = md5($password);

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

loginscript对此进行检查:

代码语言:javascript
复制
if ($username == $dbusername && md5($password) == $dbpassword)
EN

回答 1

Stack Overflow用户

发布于 2011-09-16 14:44:59

你换了主机也没关系。如果您可以使用“querty”登录,那么您一定是在不经意间注册了“querty”。

当您在测试系统时,使用一个普通的<input type="text">,这样您就可以看到您正在键入的内容。测试完成后,切换它为<input type="password">。另外,添加一个“验证密码”字段,这样您就可以验证用户是否不小心输入了她的密码。

安全密码存储底座

向用户表中添加一个名为"salt“的字段

在注册脚本中这样做:

代码语言:javascript
复制
$salt = time();
$code = hash('sha256', $password . $salt);

$code$salt保存在users表中。

在loginscript中,请检查以下内容:

代码语言:javascript
复制
if ($username === $dbusername && hash('sha256', $password . $dbsalt) === $dbpassword)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7445582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档