博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用python暴力破解压缩包密码
阅读量:2109 次
发布时间:2019-04-29

本文共 1236 字,大约阅读时间需要 4 分钟。

import rarfileimport randomimport timeimport sysclass MyIterator():    # 单位字符集合    letters = '0123456789'    min_digits = 0    max_digits = 0    def __init__(self, min_digits, max_digits):        # 实例化对象时给出密码位数范围,一般4到10位        if min_digits < max_digits:            self.min_digits = min_digits            self.max_digits = max_digits        else:            self.min_digits = max_digits            self.max_digits = min_digits    # 迭代器访问定义    def __iter__(self):        return self    def __next__(self):        rst = str()        for item in range(0, random.randrange(self.min_digits, self.max_digits + 1)):            rst += random.choice(MyIterator.letters)        return rstdef extract():    start_time = time.time()    zfile = rarfile.RarFile("D:\\deng\\logs\\datastruture.rar")    # 解压文件名字    for p in MyIterator(4, 10):        try:            zfile.extractall(path=".", pwd=str(p).encode('utf-8'))            # 文件地址这里用.说明当前文件夹,如果C:\Users这样形式            print("the password is {}".format(p))            now_time = time.time()            print("spend time is {}".format(now_time - start_time))            sys.exit(0)        except Exception as e:            print('error',p)            passif __name__ == '__main__':    extract()

转载地址:http://hsfef.baihongyu.com/

你可能感兴趣的文章
NodeJs npm install 国内镜像
查看>>
python3.5.2 mysql Exccel
查看>>
mysqlDump 导出多表,其中部分表有限制数据内容
查看>>
vi 替换方法
查看>>
BAT 相关
查看>>
ANT集成SVNANT访问SVN(Subversion)
查看>>
高可用架构-- MySQL主从复制的配置
查看>>
jvm调优-从eclipse开始
查看>>
构建微服务:Spring boot 入门篇
查看>>
jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)
查看>>
Spring boot Myibatis
查看>>
spring boot(七):springboot+mybatis多数据源最简解决方案
查看>>
Spring Boot 笔记
查看>>
maven下手动导入ojdbc6.jar
查看>>
SpringBoot、MyBatis配置多数据源XML方法
查看>>
SpringBoot配置属性之MQ
查看>>
SpringBoot集成mybatis
查看>>
Shell文本处理三剑客之grep
查看>>
linux查看进程启动时间
查看>>
Linux 基础命令
查看>>