1、原理:从某中随机抽取密码然后将排列好的密码将其打乱,然后重复上一段直到if A == A 为止,则为停止,此软件会将生成的密码本保存至根目录,不同的模式密码本的名称自然也不一样,在生成密码的时候,尽量不要生成3位数以下的密码,会报错,别问我为什么,因为这个密码是随机的,有可能你报了3位数,随机生成的时候,也是要从中打乱密码和随机挑选生成密码,在这里有可能随机就是3位数,后面的A - A =$ ,没了,就会报错,我在里面设置了从中抽取2位,为下面的函数做铺垫,如果报3位数,从中抽取2位,那就只剩下一位数了,逻辑就会出问题,如果还没明白,就去看看我前面的文章吧!!
废话不多说,上代码!!
#coding:utf-8
import random,string
import os
countt = input('\n----------------------------------------密码字典生成工具----------------------------------------\n关注博主不迷路!!!\nhttps://jiangongfang.blog.csdn.net/\nhttps://blog.51cto.com/u_15449377\n\n /// 请选择数字编码(1-11)\\\\\\\ \n\n'
'1、纯数字 2、纯大写字母 3、纯小写字母 4、纯中文字符串 5、纯英文字符串\n6、数字+大写字母组合 7、数字+小写字母组合 8、数字+小写字母+大写字母组合 9、数字+字符串组合\n10、数字+小写字母+大写字母+字符串 11、数字+大写字母+小写字母+英文字符串+中文字符串组合'
'\n\n----------------------------------------密码字典生成工具----------------------------------------\n输入对应数字: ')
#纯数字
def NEW1():
digit = input('\n--------------------------\n模式:纯数字\n不得低于2位数\n--------------------------\n请确认要生成几位数: ')
count = input('请确认要生成几条密码: ')
i = 0 # 记录符合要求的密码个数
while i < int(count):
def GetPassword(length):
# 选中ofnum个数字
slcNum=[random.choice(string.digits) for i in range(length)]
# 打乱组合
random.shuffle(slcNum)
# 生成随机密码
getPwd=''.join([i for i in slcNum])
return getPwd
digit1 = int(digit)
passwd = GetPassword(digit1) #GetPassword()自定义随机密码长度
with open("pass纯数字密码.txt", "a+") as out_file: # 写入文件
out_file.write(''.join(passwd) + "\n")
i += 1 # 每生成1个符合要求的密码,i加1
#纯大写字母
def NEW2():
digit = input('\n--------------------------\n模式:纯大写字母\n不得低于3位数\n--------------------------\n请确认要生成几位数: ')
count = input('请确认要生成几条密码: ')
i = 0 # 记录符合要求的密码个数
while i < int(count):
def GetPassword(length):
PP=[random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ') for i in range(length)]
# 打乱组合
random.shuffle(PP)
# 生成随机密码
getPwd=''.join([i for i in PP])
return getPwd
digit1 = int(digit)
passwd = GetPassword(digit1) #GetPassword()自定义随机密码长度
with open("纯大写字母.txt", "a+") as out_file: # 写入文件