私のおかげで、各パスワードに0〜255のsaltを持つ辞書から事前計算されたハッシュ値のファイルを作成するはずです。私はハッシュを持っていますが、与えられたシャドーファイルと比較しようとすると、何も得られません。これは私がおそらく間違ってハッシュしていると信じさせてくれるでしょうか?私の教授は、パスワードハッシュがCで行われたと言っていました。違いがありますか? ハッシュMD5のハッシングとPythonでの比較
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
EDITを割れ:ここ
は私のコードで私が与えた影付きRAR書庫ファイル: http://mediafire.com/?euwjpxr3np36brt辞書ファイルが指定された - http://mediafire.com/?psspoqo900x0hmq
一般に、ファイルを閉じるとよいでしょう。 –
あなたのコードでタブが正しいことを確認してください - これは結局のところPythonです:) –