【问题标题】:Passwords are not md5 or changing despite different entries尽管输入不同,但密码不是 md5 或更改
【发布时间】:2012-01-07 02:53:36
【问题描述】:

由于某种原因,即使在 md5 之后并使用 password('$md5_password'),MySQL 也会将所有密码设置为相同。

假设密码是abc123,存储在mysql中的密码是11ab5e691dcc370b。但是当我尝试保存密码frogs时,存储的密码是11ab5e691dcc370b,也是一样的。我在其他数据库上有相同的脚本并且工作完美。

以上将解释为什么没有人登录,除非我硬设置11ab5e691dcc370b 密码。然后其他人就可以登录了。

mysql 用户拥有完全权限。

【问题讨论】:

  • 你能否在这一点上添加更多代码,我目前的想法是代码实际上只是将所有密码设置为相同的东西。
  • 我认为它把 $md5_password 作为字符串而不是变量你能显示更多代码吗?
  • 你的插入查询是什么?
  • forum.hashkiller.com/index.php?topic=4447.0 d41d8cd98f00b204e9800998ecf8427e 散列到 11ab5e691dcc370b (虽然我不知道什么散列函数)。我假设您总是传入d41...,但请注意d41... 是空字符串的MD5 哈希。也许您需要尝试$md5_password = md5('')以外的其他方法?

标签: mysql passwords md5 login-script


【解决方案1】:

我使用 Google 反转了11ab5e691dcc370bIt seems to be the hash of d41d8cd98f00b204e9800998ecf8427e,是一个空字符串的MD5。

您可能需要检查实际调用md5 的代码。

【讨论】:

  • 托达是正确的。 SELECT CAST(OLD_PASSWORD(MD5('')) AS CHAR) ; 产生:'11ab5e691dcc370b'
【解决方案2】:

假设 PHP 基于您问题中的 $md5_password

使用双引号或完全删除它们。

md5($password);

如果你使用单引号,它会从字面上散列字符串 $password

md5('$password');

请参阅此页面上的字符串文字http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single

【讨论】:

  • 查看我的评论 - 看起来他正在散列一个空白字符串。所以他没有通过'$password'
猜你喜欢
  • 2020-04-28
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多