【问题标题】:md5 Decryption in PHPPHP中的md5解密
【发布时间】:2014-02-20 13:06:44
【问题描述】:

我正在为在线酒店预订系统开发一个系统,我并不是从头开始的。系统中客户(预订者)的信息使用 MD5 加密,但与普通的 md5() php 函数不同,系统非常复杂,您可以在此处看到:

$psw = md5("vhdsxnjuobef");
$t_cred_num = md5_encrypt($t_cred_num, $psw, 16);

对于解密来说,它是这样的:

$psw = md5("vhdsxnjuobef");
$t_credit_num = md5_decrypt($t_cred_num, $psw, 16);

此代码在我的服务器上不起作用,并且有很多客户信息已加密。

t_cred_num 变量的哈希示例 =>

 fdRucZHctr7vIX+U400xGHq53Qemze0YQH1sAUjvmaC1P+XaRadI9CaX0wrkDXu6

关于如何解密这些哈希的任何想法?当我将 md5_decrypt 与哈希一起使用时,没有任何反应。

【问题讨论】:

  • 不要使用这些函数。他们以极其不安全的方式滥用 MD5。
  • 对此功能的不安全性的全面分析不适合此评论框。可以这么说:它有许多严重的密码缺陷,使其大有待分析。使用由真正的密码学家设计的密码算法。
  • 信用卡号码是非常敏感的信息,尽可能不要存储它们,看看这个question的答案。如果您确实需要存储它们,则必须遵守PCI standard。信用卡号的问题在于,它们很短且必须是可解密的,因此很难安全地存储它们。

标签: php encryption hash md5


【解决方案1】:

没有办法解密 md5。你可以做两件事:

  1. 如果您有其他帐户或知道其他帐户的密码,则复制该帐户的 md5 字符并将其放在您的帐户上。
  2. 搜索一个 md5,比如说“admin”。在您的帐户中粘贴与单词“admin”对应的 md5。您也可以使用其他词。

然后,登录您的帐户,然后改回您的密码

【讨论】:

    【解决方案2】:

    我认为 md5_crypt 和 md5_encrypt 是以前的开发人员手工制作的函数。 md5 不应该是可解密的。哈希应该是单向函数:http://en.wikipedia.org/wiki/Hash_function

    因此,您需要找到这些函数的定义。在代码文件中搜索“function md5_”应该会找到代码中定义它们的位置。

    【讨论】:

    猜你喜欢
    • 2014-07-02
    • 2019-10-10
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多