web题常见爆破密码,通常密码生日或是随机字符串生成。如果手头没有好用的字典文件,用python可以快速实现,并能根据题目要求创建出自己想要的字典库,不用浪费额外的时间。
数字类(生日,身份证……)
参考链接 python生成所有生日日期
import time
def daterange(year):
fmt='%Y-%m-%d'#时间格式
bgn=int(time.mktime(time.strptime(year+'-01-01',fmt)))#规定开始时期为0101 转换为时间戳
end=int(time.mktime(time.strptime(year+'-12-31',fmt)))#规定结束日期为12-31,转换为时间戳
list_date=[time.strftime(fmt,time.localtime(i))for i in range(bgn,end+1,3600*24)]#3600*24是一天的时间,
#localtime()里面的参数是[sec]精确到秒
return [i.replace('-','') for i in list_date]#将里面的-都删掉,变成自己想要的格式。
data_time = daterange('1993')
dic=open("1.txt",'a')
for j in data_time:
#身份证:s="区号"+j+"尾号"
dic.write("".join(j)+"\n")
dic.close()
字母类
参考链接 利用python自动生成暴力破解的字典
只要在words里面添加你所需要的元素。
import itertools as itr
words="abcdefghijklmnopqrstuvwxyz"
r=itr.product(words,repeat=4)#repeat是迭代次数,相当于你所需要密码的位数。
dic=open("pass.txt",'a')
for i in r:
dic.write("".join(i)+"\n")
dic.close()