【问题标题】:How to decrypt?如何解密?
【发布时间】:2015-01-22 23:09:42
【问题描述】:
byte[] pass = Encoding.Unicode.GetBytes(textBox1.Text);
MD5 md5 = new MD5CryptoServiceProvider();
String password = Encoding.UTF8.GetString(md5.ComputeHash(pass));

不修改代码,只增加代码
解密变量:密码
试了很多方法都无法将utf8字符串解密为md5
密码值乱码,如何恢复密码:md5?
textBox.text = wooyun
md5.ComputeHash(pass) = F04BC0C32584F9D42817DC6EF8769E9E
Encoding.UTF8.GetString(md5.ComputeHash(pass))=�K��%���(�n�v��

【问题讨论】:

  • 您可能想进一步扩展您的问题。看起来你并没有投入太多精力。如果你不愿意花时间解释和澄清你的问题,你怎么能指望别人花时间回答你的问题呢?
  • 将utf8string解密为md5是什么意思? UTF8 不是加密系统,MD5 是哈希而不是加密,不能“解密”。
  • 不好意思,这个问题描述的比较清楚
  • 您似乎正在尝试解密哈希。正如 Hobo Sapiens 所说,这是不可能的。看this
  • 不,我不需要解密哈希值,我只是从哈希值中得到密码

标签: c# unicode md5


【解决方案1】:

请咨询安全专家的服务,而不是尝试自己尝试做任何事情。仅在这 3 行示例代码中,并且我自己不是安全专家,我已经可以说:

  • 您将编码加密散列的概念混为一谈
  • 您正试图从存储的散列中反向查找密码,可能来自某个现有数据库。除了很可能在道德上是恶意的,这在某些司法管辖区可能是非法的
  • 散列密码可能未加盐,因此存储的密码容易受到暴力攻击
  • 哈希是使用 MD5 生成的,已知是密码哈希的弱算法

这个练习是为了学习目的吗?你能澄清一下这个问题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2015-07-14
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    相关资源
    最近更新 更多