比较哈希与数据字典

时间:2013-12-04 14:08:20

标签: python dictionary hash md5

所以我将哈希值输入到脚本中并将它们与数据字典进行比较,其中字典中的所有内容都被哈希处理,并与用户输入的哈希进行比较以查看是否存在匹配。这工作绝对正常,但是当我尝试一次散列多个散列时,它只会返回已输入的最后一个散列而不是所有输入的散列。我尝试过很多类型的循环,比如嵌套循环,每次我都会收到错误或返回垃圾。我想知道是否还有其他办法可以做到。这是没有任何循环的脚本的主要部分。 提醒或提出一些建议将非常感激。

import hashlib

hash_to_crack = "f25a2fc72690b780b2a14e140ef6a9e0"
hash_to_crack = "d1133275ee2118be63a577af759fc052"
dict_file = "dict.txt"

def main():
    with open(dict_file) as fileobj:
        for line in fileobj:
            line = line.strip()
            if hashlib.md5(line).hexdigest() == hash_to_crack:
                print "Successfully cracked the hash %s: Password = %s" % (hash_to_crack, line)
                return ""
    print "Failed to crack the file."

if __name__ == "__main__":
    main()

1 个答案:

答案 0 :(得分:1)

hash_to_crack = "f25a2fc72690b780b2a14e140ef6a9e0"
hash_to_crack = "d1133275ee2118be63a577af759fc052"

只有一个hash_to_crack!第二个替换第一个。你可能想要一个列表或元组:

hash_to_crack = ["f25a2fc72690b780b2a14e140ef6a9e0", "d1133275ee2118be63a577af759fc052"]

然后迭代它。

相关问题