【问题标题】:How to decode password save with md5() in mysql db [duplicate]如何在mysql db中使用md5()解码密码保存[重复]
【发布时间】:2015-01-26 01:58:38
【问题描述】:

我有非常简单的查询。

我正在使用 php 从 Mysql 数据库中获取用户名和密码。

密码采用 md5() 编码。谁能帮帮我

脚本

while($rfg=mysql_fetch_array($rc)){
            //print_r($rfg);
              echo $_POST['im_password'] = $rfg['Password'];
              echo $_POST['im_user'] = $rfg['Nombre'];

        }

如何将 md5 密码解码为 php 中的真实文本??

提前致谢

【问题讨论】:

  • md5 是一个哈希,因此您无法对其进行解码。
  • 如何从牛肉汉堡中重建活牛?你不能。现在解释为什么你需要
  • @MarkBaker:这很完美,哈哈:D。
  • 除了“你不能”,让我补充一点,你不应该使用md5 来散列(不加密)密码,你应该使用盐。
  • @MarkBaker 总是很高兴见到有幽默感的人 ;)

标签: php mysql md5


【解决方案1】:

使用 md5 的关键在于您不能那么轻松地解密它。例如,您可以使用它将 md5(user_input) 与数据库(登录系统)中的哈希值进行比较。

如果您确实需要获取纯文本(我不支持),您可以尝试使用字典攻击。根据所需的计算能力,除此之外的一切(暴力破解)都不值得。

【讨论】:

    【解决方案2】:

    除非您使用彩虹表,否则无法解码 MD5。 检查用户输入的密码是否正确的方法是用 md5 对输入的密码进行哈希处理,并与数据库中的密码进行检查。

    【讨论】:

    • 不完全正确。最好的方法是使用暴力破解,这将是一个时间问题。不能保证用彩虹表解密它。更不用说它甚至不会是真正的“解密”。
    • 不一定保证你找到了原密码,即使你暴力破解或者彩虹表正确,也只能说找到了匹配,可能是冲突
    • @MarkBaker:哈是的。把可能性真的很强,你是对的。我不得不说我从来没有遇到过这种情况。至少不是像“1234”这样的字符串。
    猜你喜欢
    • 1970-01-01
    • 2011-07-14
    • 2019-10-10
    • 2023-04-04
    • 2018-03-28
    • 2015-06-12
    • 2011-10-24
    • 2011-10-10
    • 2011-08-09
    相关资源
    最近更新 更多