0
我正尝试使用Python构建字典攻击脚本(用于教育目的),它只解决了我文件中的最后一个SHA-256散列。Python字典攻击只能解决最后一个散列
的逻辑如下:
- 读取文件包含字
- 存储字的与字典中的词作为键 - 值对沿所述散列值
- 扫描线含SHA-256哈希值(每行1个散列值)
- 遍历字典中的项和打印键的文本文件的一个值的散列相匹配
它适用于我文件中最后一个项目,但表示找不到所有其他项目的匹配项。
我的散列文件看起来像:
9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08
5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8
包含散列值“测试”和“密码”。
我的单词文件包含超过70,000个单词,我确定这两个单词都在文件中,当我调试时,如果我调用表达式,它们在字典中都有值。
这里就是我遍历在我的文件哈希:
with open(hashFile) as f:
for c in f:
findMatch(str(c).lower(),wordMap)
,功能我写的散列值在字典中比较每个值:
def findMatch(hv,m):
#k is the key, m is the dictionary
for k in m:
if(m[k].lower() == hv):
print("Match was found: " + k)
return
print("Match was not found, searched through " + str(len(wordMap)) + " words")
任何帮助表示赞赏, 谢谢!
是的,这工作完美,电枢错误! – CS2020