md5 加密 qwerty - azerty 错误
对于我的 php-login 系统与 MySQL 数据库相结合,我使用 md5 加密来在用户注册时转换密码。在 Windows 主机上一切正常, 但现在我已经将主机更改为Linux。 现在,当我使用密码“azerty”注册示例用户时,我无法登录...... 当我尝试使用“qwerty”作为密码登录时,它起作用了。 所以这就像 md5 函数将我的键盘读取为 qwerty 键盘而不是 azerty...
我能做些什么来解决这个问题?
编辑:
在注册脚本中我这样做:
$password = md5($password);
然后将$password
保存到我的数据库中。
登录脚本对此进行检查:
if ($username == $dbusername && md5($password) == $dbpassword)
For my php-login system combined with a MySQL database, I use a md5 - encryption to convert passwords when an user registers himself. Everything worked fine on a Windows-host,
but now I've changed the host to Linux.
Now, when I register a example user, with password "azerty", I couldn't login...
When I trie to login with "qwerty" as password, it works.
So it's like the md5 function read my keyboard as a qwerty keyboard instead as an azerty...
What can I do to solve this problem?
EDIT:
In the register script I do this:
$password = md5($password);
and then save $password
to my database.
The loginscript checks on this:
if ($username == $dbusername && md5($password) == $dbpassword)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更换主机并不重要。如果您可以使用“querty”登录,那么您一定是无意中注册了“querty”。
当您测试系统时,请使用正常的
,这样您就可以看到您正在输入的内容。完成测试后,切换
。另外,添加“验证密码”字段,以便您可以验证用户是否意外输错了密码。
安全密码存储入门
在用户表中添加一个名为“salt”的字段
在注册脚本中执行以下操作:
将
$code
和$salt
保存在用户表中。在登录脚本中检查以下内容:
It doesn’t matter that you switched hosts. If you can log in with “querty” then you must have inadvertently registered with “querty”
When you’re testing the system, use a normal
<input type="text">
so you can see what you’re typing. Switch it<input type="password">
when you’re finished testing. Also, add a “verify password” field so you can verify that the user didn’t accidentally mistype her password.Secure Password Storage Primer
Add a field to your users table called "salt"
In the register script do this:
Save
$code
and$salt
in the users table.In the loginscript check this: