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
0
投稿
猜你喜欢
- 目录1. 折线图概述1.1什么是折线图?1.2折线图使用场景1.3绘制折线图步骤1.4案例展示2. 折线2D属性2.1linestyle:折
- Django rest_framework serializer.HiddenField(default=serializer.Curren
- 自定义用户认证系统Django 自带的用户认证系统已经可以满足大部分的情况,但是有时候我们需要某些特定的需求。Django 支持使用其他认证
- 在学会了SELECT语句的构造和用途之后你就该学习如何使用它了。在你所掌握的数据库工具下,这可能意味着你得按下某个写着“执行”字样的按钮。在
- 一、在django后台处理1、将django的setting中的加入django.contrib.messages.middleware.M
- 农历新年将至,支付宝红包打了一仗,微信在朋友圈屏蔽了它的分享,但单防守还不行,进攻才是最好的防守。昨日,微信支付现金红包接口正式开放,只需开
- 本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下题目期末项目 一. 项目要求利用函数实现通讯
- 学在前面从本篇博客起,我们将实际完成几个小案例,第一个就是银行卡号识别,预计本案例将写 5 篇左右的博客才可以完成,一起加油吧。本文的目标是
- Rs.GetRows(N):N代表获取记录数量 Rs.GetRows(1):1表示只返回一行记录 Rs.GetRows(-1):-1表示默认
- 前面的学习中,我们已经知道了两种python的数据类型:int和str。再强调一下对数据类型的理解,这个世界是由数据组成的,数据可能是数字(
- 最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:删除,插入,替换。具体内容
- 见下表:序号保留字序号保留字序号保留字1ADD80ESCAPE159OR2ABSOLUTE81EXCEPT160ORDER3ACTION82
- 在一个页面制作过程,突然被设计稿上的一个问题难住了,思路一时没打开,后来在费人的提醒下,用定位控制,顺利完成。这个是我做的大概的
- 在Python 2.7中,一个float的repr返回最接近十七位数的十进制数;这足以精确地识别每个可能的IEEE浮点值.浮点数的str类似
- Apple4.us的张亮问我:“很多人说用户体验是苹果的核心竞争力。在用户体验方面,我究竟该从苹果的设计中学习什么” ?关于这个问题的答案我
- python 3.10支持match语句,3,10以下不支持。match语句接受一个表达式,并将其值与作为一个或多个case块给出的连续模式
- 在学习python的过程中,用来练习代码,并且复习数据结构的#coding:utf-8#author:Elvisclass Stack(ob
- python虚拟环境迁移:注意事项:直接将虚拟环境复制到另一台机器,直接执行是会有问题的。那么可以采用以下办法:思路:将机器1虚拟环境下的包
- MS SQL基本语法及实例操作 一:建表并初始化 ============================ create database
- 当代码已经写得差不多,发现某个变量名需要修改,但代码中很多地方都有该变量,一一修改太麻烦了,在不同的情景下,可以采取更加简便的方法,如下介绍