md5 加密 qwerty - azerty 错误

发布于 2024-12-05 03:10:11 字数 496 浏览 1 评论 0原文

对于我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恋竹姑娘 2024-12-12 03:10:11

更换主机并不重要。如果您可以使用“querty”登录,那么您一定是无意中注册了“querty”。

当您测试系统时,请使用正常的,这样您就可以看到您正在输入的内容。完成测试后,切换。另外,添加“验证密码”字段,以便您可以验证用户是否意外输错了密码。

安全密码存储入门

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

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

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

$code$salt 保存在用户表中。

在登录脚本中检查以下内容:

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

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:

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

Save $code and $salt in the users table.

In the loginscript check this:

if ($username === $dbusername && hash('sha256', $password . $dbsalt) === $dbpassword)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文