使用字符串函数和原始字符串

时间:2018-03-23 01:30:35

标签: python

我正在编写一个程序,它将对列表中的单词进行加密,直到哈希值与您尝试解密的哈希值相匹配。

我遇到的问题是当哈希加密时, 它没有松开任何空格字符,我得到像:

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

编辑: 对不起,它不仅仅是空白,但哈希中不应该有反斜杠,我觉得编码错误或加密方法不正确。我所知道的是输出是错误的,我已经针对多个来源进行了检查。

1 个答案:

答案 0 :(得分:2)

def computeMD5hash(string):
    m = hashlib.md5()
    m.update(string.encode('utf-8'))
    md5string=m.hexdigest() # use hexdigest instead
    return md5string