Python建立密码池用于暴力破解密码,结果不理想

最近在研究暴力破解压缩包、PDF文件的问题,看到其他文章好多都是通过建立密码池,遍历读取密码进行匹配,但是他们提到了写入一些常用的数字字母在txt文件里里面,我就纳闷为什么不把所有的数字、字母、符号组合都塞到一个文件里呢?于是想尝试一下。

不过首先尝试了数字0~9,位数分别是1 ~ 8位,结果产生了一个1G的txt文件,写入时间花了110秒,试了一下读取22秒,OMG!这要是把大小写字母加各种符号加进去,那还不爆炸了!失败失败!

所以还是直接通过CPU运算遍历数据比较靠谱,还在研究,等完成了发上来做个记录

import itertools
import time

'''
经测试,数字0~9,组合成1~8位的密码
产生txt文件容量1GB,
写入用时110秒,
读取用时22秒
效率极其低下
创建密码池的方法不太可取
'''

#写入密码池
st_w=time.time()
with open('pw_pool.txt','w+') as f:
    for rpt in range(1,9):
        pw_list1=itertools.product('0123456789',repeat=rpt)
        for i in pw_list1:
            i=''.join(i)
            f.write(i+'\n')
et_w=time.time()
print('write time use:',et_w-st_w)

#读取密码池 readline()单行逐行读取
st_r=time.time()
with open('pw_pool.txt','r') as f:
    while f.readline():
        f.readline()
et_r=time.time()
print('read time use:',et_r-st_r)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值