【问题标题】:python hashlib decryption using md5 [duplicate]python hashlib解密使用md5 [重复]
【发布时间】:2014-06-08 12:10:52
【问题描述】:

问题很简单。我有:

import hashlib
m = hashlib.md5()
m.update(b"My name is Joe")
x = m.hexdigest()
print(x)

这个输出:

c923c2de3064b7be0223d42697ad57e2

现在我该如何解密?

【问题讨论】:

  • 哈希函数在设计上是不可逆的。
  • 如果用户回来输入密码或经过哈希处理的内容,如果不可逆,您将如何验证它?
  • @robertrocha 您可以通过散列验证输入的密码,然后将其与数据库中的已散列密码匹配。

标签: python encryption hash md5


【解决方案1】:

MD5 是一个散列函数。换句话说,它不打算被颠倒。逆向 MD5 的唯一方法是测试所有可能性:

for word in all_the_possible_words():
    if md5(word) == my_hash:
        print("I found the word!", word)
        break

但这在合理的时间内是不可能的,除非您有一些关于您要查找的单词的信息(例如字符数、它使用的字符......)。

另一种可能性是使用rainbow tables

【讨论】:

  • 好的。那么如何验证原始输入与散列输入相同?
  • 只需对原始输入进行哈希处理:if md5(raw_input) == hashed_input: print("Verification ok")
猜你喜欢
  • 2013-04-04
  • 2010-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2011-06-05
  • 2021-09-15
  • 1970-01-01
相关资源
最近更新 更多