我正在编写一个程序,它将对列表中的单词进行加密,直到哈希值与您尝试解密的哈希值相匹配。
我遇到的问题是当哈希加密时, 它没有松开任何空格字符,我得到像:
b'\x0by\x07\xb4\xe8\xd9\x90d\xaa\xd9\xe6\x1d\xfa\x92\xc2\xaf
和不 63eb1dea1692fc53800b20be983e9a8b
在我加密之前,有什么办法可以摆脱所有的空格吗?
这是我的代码:
import hashlib
def computeMD5hash(string):
m = hashlib.md5()
m.update(string.encode('utf-8'))
md5string=m.digest()
return md5string
wordlist = open('wordlist.txt', 'r')
words = wordlist.readlines()
words = [x.strip('\n') for x in words]
print("Searching...")
for i in words:
for x in words:
print(i+x)
out = computeMD5hash(i+x)
print(out)
if out == '63eb1dea1692fc53800b20be983e9a8b':
print(i+x)
break
编辑: 对不起,它不仅仅是空白,但哈希中不应该有反斜杠,我觉得编码错误或加密方法不正确。我所知道的是输出是错误的,我已经针对多个来源进行了检查。
答案 0 :(得分:2)
def computeMD5hash(string):
m = hashlib.md5()
m.update(string.encode('utf-8'))
md5string=m.hexdigest() # use hexdigest instead
return md5string