MySQL从md5密码中截去字符

发布于 2024-11-09 18:52:38 字数 307 浏览 3 评论 0原文

我正在使用 XAMPP 在本地开发一个网站。有一个注册页面,我在其中使用 MD5 加密后将密码保存到 MySQL 数据库。问题是当我尝试登录时,我无法登录。我发现是密码的问题。我检查了数据库,并将经过 MD5 处理的密码与我登录时使用的密码进行了比较(我只是将密码的 MD5 哈希值回显到页面上进行比较)。我发现数据库里的比回显的要短。我的结论是 MySQL 在散列末尾删除了一些字符。我应该怎么办?我知道这与 MySQL 上的某些设置有关,但我需要帮助。

截至目前,我必须在注册和登录过程中对哈希使用 substr 函数才能登录。

I'm developing a website locally using XAMPP. There is a registration page in which I save the password, after encrypting it with MD5, to a MySQL database. The problem is that when I try to log in, I'm unable to. I discovered that the password was the problem. I checked the database and compared the MD5-ed password with the one I logged in with (I just echoed the MD5 hash of the password onto the page to compare). I found that the one in the database was shorter than the one echoed. My conclusion was that MySQL was chopping off some characters at the end of the hash. What should I do? I know it has to do with some settings on MySQL but I need help.

As at now, I have to use substr function on the hash in the registration and login processes so as to be able to log in.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

治碍 2024-11-16 18:52:38

如果色谱柱长度导致问题,请更改色谱柱以接受更长的长度。 MD5 始终为 32 个十六进制数字,因此 VARCHAR(32) 将是一个不错的选择。

If the column length is causing the problem, alter the column to accept a longer length. MD5's are always 32 hex digits, so VARCHAR(32) would be a good option.

锦爱 2024-11-16 18:52:38

这取决于数据库中值的长度...检查数据库中的字段并验证他的类型至少类似于 varchar(32)

要修复它,您可以使用类似的查询 界面

ALTER TABLE Example
 MODIFY password  varchar(32)  

或者使用 phpMyAdmin

It depends by the length of the value in the database ... check your field in the database and verify that his type is atleast something like a varchar(32)

To fix it you can use a query like that

ALTER TABLE Example
 MODIFY password  varchar(32)  

or use the phpMyAdmin interface

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