python如何随机生成高强度密码

本文实例为大家分享了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)

以上是 python如何随机生成高强度密码 的全部内容, 来源链接: utcz.com/z/341644.html

回到顶部