【问题标题】:how to decrypt md5 password in php? [duplicate]如何在php中解密md5密码? [复制]
【发布时间】:2019-10-10 11:06:42
【问题描述】:

我正在为我的应用程序创建一个管理面板,但主要问题是当我以纯文本形式向管理员显示密码时,它会产生问题?? 我在 php 中以 md5 格式存储了我的密码?我怎样才能在 php 中以纯文本格式解密该代码?

我已经尝试了很多次,但我现在还没有找到正确的答案?

$string ="hello"; 
$password= md5 ($string);

我希望纯文本密码与加密相反,即解密

【问题讨论】:

  • 您无法“解密”哈希。 MD5 是散列,而不是加密。您应该使用password_hash,而不是 MD5。这是不安全的。
  • 1) 您永远不能“解密”某人的密码。 2)MD5是散列函数,所以需要彩虹表把散列变成密码。 3)MD5不再适合存储密码,改用password_hash()
  • 由于您是存储密码的新手,我也推荐这个视频:youtube.com/watch?v=8ZtInClXe1Q
  • 没有理由需要用户的纯文本密码。

标签: php cryptography passwords md5 password-hash


【解决方案1】:

理论上不,你不能。 MD5 是 ONE WAY 哈希算法。原始字符串通过转换(丢失)。 MD5 的sequrity 受到损害,但您不能“解密或反转”它。您可以使用彩虹表并尝试找到匹配项。为什么要以明文形式查看用户密码?散列(加密但没有解密密钥)的原因是通过将个人信息变成“仅供您查看”来保护隐私,只有用户应该知道密码。

【讨论】:

    【解决方案2】:

    Md5 是一种哈希算法,有时被错误地称为“单向加密”。没有办法取回原始字符串。

    另外,您为什么要以纯文本形式显示密码?这可能是一个严重的安全问题。散列的目的是确保用户每次都输入相同的密码,而其他人不知道密码是什么。

    【讨论】:

    • 我理解这个概念并提到了在网络上(错误地)使用的术语。这是对将 md5 称为加密的原始发帖人的回应。
    • 按照建议“错误地”添加。
    猜你喜欢
    • 2011-07-14
    • 2011-10-24
    • 2018-03-28
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2014-07-02
    相关资源
    最近更新 更多