用python生成密码本(不同模式不同密码)

本文介绍了一种使用Python生成密码本的方法,原理是随机抽取并打乱密码,直到满足特定条件为止。生成的密码本会被保存到根目录,不同模式下文件名不同。需要注意的是,为避免3位数以下密码导致的错误,作者建议避免生成此类密码。代码已编译为exe程序,提供下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:  # 写入文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小木_.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值