【发布时间】:2012-02-05 02:54:13
【问题描述】:
对于我的评估,我应该从给定的字典中创建一个预先计算的哈希值文件,每个密码的盐为 0 - 255。我有哈希值,但是当我尝试将它们与给定的影子文件进行比较时,我什么也得不到。这让我相信我可能散列不正确?我的教授确实说过密码哈希是用 C 完成的。这有什么不同吗?
这是我的代码: 找到哈希
import hashlib
f = open('/root/dictionary/dictionary', 'r')
print f
i=0
def getMD5Hash(textToHash=None):
return hashlib.md5(textToHash).hexdigest()
for line in f:
line = line.rstrip()
#print line
i=0
while i <= 255:
j=str(i)
line1 = j+line
md5=getMD5Hash(line1)
print md5,':',line1
i+=1
破解
f1 = open('/root/dictionary/shadow3','r')
def crack(Hash=None):
f = open('/root/dictionary/HASHES','r')
for line in f:
line = line.rstrip()
line1 = line.split(" ")[0]
if line == Hash:
print (line,"\n",Hash)
return line
for line in f1:
line = line.rstrip()
line = line.split(":")[1:]
print line[0]
result = crack(line[0])
print result
编辑:带有阴影的 Rar 文件:http://mediafire.com/?euwjpxr3np36brt
给定的字典文件 - http://mediafire.com/?psspoqo900x0hmq
【问题讨论】:
-
关闭文件通常是个好主意。
-
请确保你的标签在你的代码中是正确的——毕竟这是 Python :)