__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没有出错,也不知道哪里出错了。
发布于 2015-02-05 22:33:32
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()代替。
发布于 2015-02-05 22:07:07
您的程序退出时带有状态代码1,因为您已经告诉它了(大致在第8行):
sys.exit(1)https://stackoverflow.com/questions/28354937
复制相似问题