python 判断密码强度

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

import string
password=input("请输入密码:")

dig=0
lCase=0
hCase=0
punnctuation=0

if len(password)<=8:
    print("密码强度弱")
else :
    for ch in password:
        if ch in string.digits:
            dig=1
        elif ch in string.ascii_lowercase:
            lCase=1
        elif ch in string.ascii_uppercase:
            hCase=1
        elif ch in string.punctuation:
            punnctuation=1
    if dig+lCase+hCase+punnctuation == 2:
        print("密码强度中")
    elif dig+lCase+hCase+punnctuation == 3:
        print("密码强度强")
    elif dig+lCase+hCase+punnctuation == 4:
        print("密码强度极强")
    else:
        print(str(dig)+str(lCase)+str(hCase)+str(punnctuation))


    

 

Python 判断密码强度可以通过以下几个方面来实现: 1. 密码长度:判断密码长度是否符合要求,一般要求密码长度在8到16个字符之间。 2. 包含数字:判断密码中是否包含数字,数字可以增加密码的复杂度。 3. 包含字母:判断密码中是否包含大小写字母,字母也可以增加密码的复杂度。 4. 包含符号:判断密码中是否包含特殊符号,如 !、@、#、$、%等。 5. 避免常见密码:判断密码是否为常见密码,如 123456、password、qwerty 等。 你可以使用Python编写代码实现上述功能。下面是一个简单的示例代码: ``` def check_password_strength(password): # 判断密码长度是否符合要求 if len(password) < 8 or len(password) > 16: return "密码长度不符合要求" # 判断密码中是否包含数字 has_number = False for char in password: if char.isdigit(): has_number = True break if not has_number: return "密码中必须包含数字" # 判断密码中是否包含字母 has_letter = False for char in password: if char.isalpha(): has_letter = True break if not has_letter: return "密码中必须包含字母" # 判断密码中是否包含特殊符号 has_symbol = False for char in password: if not char.isalnum(): has_symbol = True break if not has_symbol: return "密码中必须包含特殊符号" # 避免使用常见密码 common_passwords = ["123456", "password", "qwerty"] if password in common_passwords: return "不能使用常见密码" # 密码强度符合要求 return "密码强度符合要求" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值