本文实例为大家分享了python随机生成高强度密码的具体代码,供大家参考,具体内容如下
import random import re # 字母类型 englishChar = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'l', 'k', 'j', 'h', 'g', 'f', 'd', 's', 'a', 'z', 'x', 'c', 'v', 'b', 'n', 'm'] # 数字类型 numberChar = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'] # 符号类型 symbolChar = ['!', '@', '#', '$', '%', '^', '&', '*'] # 生成的密码 password = '' # 用户选择的密码类型 allChar = [] # 选择密码类型 print('1、字母') print('2、字母+数字') print('3、字母+数字+符号') typePassword = input('输入你的密码类型选择(数字):') # 判断输入是否合法 if not re.fullmatch('[1-3]', typePassword): print("\033[37;41m 不要跟我皮\033[0m") exit(0) # 初始化密码类型 if typePassword.__eq__('1'): allChar = englishChar.copy() if typePassword.__eq__('2'): allChar = englishChar.copy() + numberChar.copy() if typePassword.__eq__('3'): allChar = englishChar.copy() + numberChar.copy() + symbolChar.copy() # 重新洗牌数组 random.shuffle(allChar) # 配置基本信息 account = input('你为哪个账号设置密码?:') accountID = input('输入账户ID:') passwordLength = input('密码长度是多少(25>p>7):') # 检测用户输入是否合法 if not passwordLength.isdigit() and 25 > int(passwordLength) > 7: print("\033[37;41m 不要跟我皮\033[0m") exit(0) # 循环生成密码 for i in range(int(passwordLength)): a = len(allChar) - 1 password = password + allChar[random.randint(0, a)] # 密码文件备份 with open('/Users/apple/专业知识/密码/' + account, 'w', encoding='utf8') as file: file.writelines("账户ID:" + accountID + '\n') file.writelines('密码:' + password) file.close() # 展示密码 print('生成的密码为:' + password)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。