从键盘输入整数n,随机生成n位密码。 判断密码的强度,包含字母 数字 特殊符号 长度不小于8位,分别对应不同的密码特级。如果密码的强度为“strong"则存入一个字典当中。请使用正则表达式来实现判断。
时间: 2023-04-24 17:00:19 浏览: 95
好的,以下是中文回复:
首先,我们需要导入re模块来使用正则表达式。然后,从键盘输入整数n,使用random模块随机生成n位密码。接着,使用正则表达式判断密码的强度,包含字母、数字、特殊符号,长度不小于8位,分别对应不同的密码特级。如果密码的强度为“strong”,则将其存入一个字典中。最后,输出字典中的所有密码。
具体实现可以参考以下代码:
import re
import random
n = int(input("请输入密码位数:"))
password = ''.join(random.sample('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+', n))
pattern1 = re.compile(r'[a-zA-Z]+')
pattern2 = re.compile(r'\d+')
pattern3 = re.compile(r'[!@#$%^&*()_+]+')
if len(password) >= 8 and pattern1.search(password) and pattern2.search(password) and pattern3.search(password):
password_dict = {'strong': password}
print("密码强度为strong,已存入字典中。")
else:
print("密码强度不足,未存入字典中。")
print("字典中的所有密码为:", password_dict.values())
阅读全文