python如何生成密码字典
作者:用余生去守护 发布时间:2021-12-23 23:08:24
标签:python,密码,字典
一、密码字典
所谓密码字典,主要是配合解密使用,一般情况用来暴力破解密码,是由指定字符排列组合组成的文本文件。如果知道密码设置的规律指定性生成密码,会对破解密码有决定性的帮助!!
二、字典生成
1.生成6位数小写字母+数字密码字典
代码如下(示例):
import itertools as its
words = 'abcdefghijklmnopqrstuvwxyz1234567890' #采用的字符
r = its.product(words, repeat=6) # repeat 要生成多少位的字典
dic = open("pass.txt", "a") #保存
for i in r:
dic.write("".join(i))
dic.write("".join("\r"))
dic.close()
2.选择模式运行
python dictionary.py default
python dictionary.py numonly
python dictionary.py letteronly
代码如下(示例):
import itertools as its
import argparse
def run_default(length,filename):
global words
'''
words='ha'
if numonly == True:
words="1234567890"
else:
words="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
'''
words="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
r =its.product(words,repeat=length)
dic = open(filename,'a')
for i in r:
dic.write("".join(i))
dic.write("".join("\n"))
dic.close()
def run_numonly(length,filename):
global words
words="1234567890"
r =its.product(words,repeat=length)
dic = open(filename,'a')
for i in r:
dic.write("".join(i))
dic.write("".join("\n"))
dic.close()
def run_letteronly(length,filename):
global words
words="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
r =its.product(words,repeat=length)
dic = open(filename,'a')
for i in r:
dic.write("".join(i))
dic.write("".join("\n"))
dic.close()
if __name__ == "__main__":
choices={"default":run_default,"numonly":run_numonly,"letteronly":run_letteronly}
parser=argparse.ArgumentParser(description='快速生成密码字典')
parser.add_argument('model',choices=choices,help='选择哪个模式运行')
parser.add_argument('--length',metavar='length',type=int,default=3,help="密码字典内密码的长度")
parser.add_argument('-filename',metavar='filename',type=str,default='password.txt',help="密码字典文件昵称")
#parser.add_argument('-numonly',metavar='numonly',type=bool,default=False,help="是否只含有数字")
args=parser.parse_args()
func=choices[args.model]
func(args.length,args.filename)
来源:https://blog.csdn.net/qq_45365214/article/details/123274975


猜你喜欢
- 在绝大多数查询中,MySQL使用哪种校对规则进行比较是很显然的。例如,在下列情况中,校对规则明显的是“列x的列校对规则”:SELECT&nb
- 由于本人使用的是Android设备做自动化测试,所以以下内容均基于Android系统做出的整理一、启动app启动app需要设置Capabil
- 题目文件scores.csv包含十位学生的成绩单,表头是"姓名 语文 数学 英语"。请编程完成下述功能。1)计算每位学生
- Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录duplic
- 今天看一个水友说他的MySQL现在变的很慢。问什么情况时。说单表超过2个G的一个MyISAM。真垃圾的回答方式。 &n
- 本文实例讲述了JavaScript数据结构中串的表示与应用。分享给大家供大家参考,具体如下:类似于线性表的顺序存储结构,用一组地址连续的存储
- 有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的commit message的描述有误,这时候你可
- 前言pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行
- 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有
- 一:安装Anaconda和Tensorflow步骤:1:从官方网站下载Anacondahttps://www.anaconda.com/do
- 元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为“盒子”)。但是不同的元素显示的方式会有所不同,例如&
- 1.查看Anaconda中有哪些虚拟环境及所在目录:在桌面搜索框中输入Anaconda Prompt并打开输入命令conda env lis
- 今天在百度知道看php相关资料时发现一个网友问一个wordpress安装提示错误的一个问题,说他在安装wordpress安装包时遇到这样一个
- Python 中提供了对时间日期的多种多样的处理方式,主要是在 time 和 datetime 这两个模块里。一、time 模块time 模
- return (1==1) ? "is easy" : "my god" //C#中的用法 其实,在
- 本文实例讲述了Python全局变量用法。分享给大家供大家参考,具体如下:全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量。今
- 前言MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(e
- 摘要:利用xlrd读取excel利用xlwt写excel利用xlutils修改excel利用xlrd读取excel先需要在命令行中pip i
- 前言:使用“宇宙最强IDE”开发项目时,都需要根据不同情况选择一个项目模板,来满足开发需求:如下VS为我们提供了基础的项目模板,但现有项目模
- 今天在测试以下代码时遇到该错误:session_start();$_SESSION['username']=$usernam