python暴力破解

python暴力破解程序

python编写生成字典文件程序,在这个程序中使用到一个新的模块itertools,这个模块是python内置的,使用简单功能强大。

  1. itertools 常用的函数-最基础的3个无穷循环器函数
1.count()函数——产生递增序列,例如:count(1,5)产生从1开始递增的序列,每次递增5,即1611162126....
2.cycle()函数——重复序列中的元素,例如:cycle('hello')将序列中的函数重复,即h,e,l,l,o,h,e,l,l,o,h......
3.repeat()函数——重复元素,构成无穷循环器,例如:repeat(100),即100100100100......
  1. 无穷循环器的组合操作函数
product()函数。获得多个无穷循环器的笛卡尔积,例如product('xyz',[0,1]),得到结果就是:x0,y0,z0,x1,y1,z1
permutations('abcd',2)函数,从abcd中挑选2个元素例如ab,cd,并将结果排序,返回作为新的无穷循环器,这些元素的组合是没有顺序的,可以同时生成cd,dc。
combination('abcd',2)函数,从abcd中挑选2个元素例如ab,cd,并将结果排序,返回作为新的无穷循环器,这些元素的组合是有顺序的,例如c,d只可以生成cd。
  1. 完整代码
#导入itertools模块
import itertools
#指定生成字符文件的字符,这里使用所有的数字和字母(不考虑大小写和特殊字符)
words = "1234568790abcdefghijklmnopqrstuvwxyz"
#生成2位的密码,实际上一般的密码有至少6位
temp =itertools.permutations(words,2)
#打开用于存储结果的文件
passwords = open("dic.txt","a")
#利用循环写入结果

for i in temp:
    passwords.write("".join(i))
    
passwords.write("".join("\n"))
#关闭文件
passwords.close()

文章知识来自李华峰老师编著的《python渗透测试实战》以及笔者学习心得,个人建议去购买并且阅读纸质书籍。

欢迎讨论相关问题,相互学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值