__author__ = 'Zane'
import hashlib
import sys
if (len(sys.argv)!=2 ) or (len(sys.argv[1])!= 32):
print("[---] md5cracker.py & hash")
sys.exit(1)
crackedmd5 = sys.argv[1]
# open a file and read its contents
f = open('file.txt')
lines = f.readline()
f.close()
for line in lines:
cleanline = line.rstrip()
hashobject = hashlib.md5(cleanline)
if (hashobject==crackedmd5):
print('Plain text password for ' + crackedmd5 + "is " + hashobject + '\n')
退出代码1没有错误,我不知道哪里弄错了
答案 0 :(得分:2)
你的程序以状态代码1退出,因为你告诉它(大致在第8行):
sys.exit(1)
答案 1 :(得分:0)
Pythons代码结构基于行的缩进。现在,您的整个代码都是if (len(sys.argv)!=2 ) or (len(sys.argv[1])!= 32):
条件的一部分。
您需要使用从crackedmd5 = sys.argv[1]
您还使用了lines = f.readline()
,它只会读取一行,因此for line in lines
将遍历该行中的每个字符,而不是多行。您需要改为使用lines = f.readlines()
。