密码强度判断(Python123)

密码强度判断

描述

用户输入一个字符串做为密码,判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含3种字符为强、包含全部4种字符为极强。
提示:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'

输入格式

输入一个字符串

输出格式

密码强度的判断结果,分:弱、中、强、极强,共四种

代码

import string
keys = input()
a = b = c = d = num = 0
if len(keys) < 8: # 长度小于8,直接判断为弱
    print('弱')
else:
    for key in keys: # 遍历keys
        if key in string.digits:
            a = 1 # 如果有数字,则数字种类存在,记作1
        elif key in string.ascii_lowercase:
            b = 1# 如果有小写字母,则小写字母存在,记作1
        elif key in string.ascii_uppercase:
            c = 1 # 如果有大写字母,则大小字母存在,记作1
        elif key in string.punctuation:
            d = 1 # 如果有特殊字符,则特殊字符存在,记作1
        else: # 其他的直接跳过
            pass
    num = sum([a, b, c, d]) # 计算种类和
    if num < 2: # 根据字符种类来判别密码强度
        print('弱')
    if num == 2:
        print('中')
    if num == 3:
        print('强')
    if num == 4:
        print('极强')

posted @ 2021-11-21 00:21  里列昂遗失的记事本  阅读(3063)  评论(0编辑  收藏  举报