首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MD5解密脚本

MD5解密脚本
EN

Stack Overflow用户
提问于 2015-02-05 22:03:41
回答 2查看 875关注 0票数 0
代码语言:javascript
复制
__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没有出错,也不知道哪里出错了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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()代替。

票数 0
EN

Stack Overflow用户

发布于 2015-02-05 22:07:07

您的程序退出时带有状态代码1,因为您已经告诉它了(大致在第8行):

代码语言:javascript
复制
sys.exit(1)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28354937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档