判断密码强度(Python)

用户设置密码后,判断密码强度是否合格。

判断规则:

1.密码长度必须不小于8;

2.密码中应该包含字母;

3.密码中应该包含数字;

4.密码中应该包含设定字符:,.!;?#%&<>+-*/;

首先要满足的条件是长度大于八,否则直接判定不合格,其他三类作为提醒并给出当前密码强度。

def在python中用来定义函数,变量,类或模块,本文用来定义函数。例如:def func1(n): 

isnumeric()函数可以判断字符串中是否含有数字,若数字或字符串中包含数字,返回True;

isalpha()函数可以判断字符串字符串中是否含有字母,若字符串中只包含字母,返回非零(小写字母为2,大写字母为1)。

初始化密码强度strength_level1,2,3,4为0,每满足一个判断规则就记为1。最后对其密码强度作出判断。
 


    #判断是否含有数字
    
def check_number_exit(password):
    
    for x in password:
        if x.isnumeric():
            return True
    return False


   # 判断是否含有字母
def check_letter_exit(password):
 
    for x in password:
        if x.isalpha():
            return True
    return False
#判断是否含有字符
def check_ch_exit(password):
    for x in password:
        if x in ',.!;?#%&<>+-*/':
            return True
    return False
#主函数
def main():
    
    password_str = input("请输入密码:")
    strength_level1 = 0
    strength_level2 = 0
    strength_level3 = 0
    strength_level4 = 0
    # 密码长度大于8
    if len(password_str) >= 8:
        strength_level1 = 1
    else:
        print("抱歉!密码长度应不小于8位!")
    # 包含数字
    if check_number_exit(password_str):
        strength_level2 = 1
    else:
        print("抱歉!密码中应包含数字!")
    # 包含字母
    if check_letter_exit(password_str):
        strength_level3 = 1
    else:
        print("抱歉!密码中应包含字母!")
    #包含字符
    if check_ch_exit(password_str):
        strength_level4 =1
    else:
        print("抱歉!密码中应包含字符!")
    if strength_level1 == 0:
        print("您的密码强度不合格!")
    elif strength_level1 + strength_level2 + strength_level3 + strength_level4==1 :
        print("您的密码强度偏低!")
    elif strength_level1 + strength_level2 + strength_level3 + strength_level4 == 2:
        print("您设置的密码强度合格!")
    elif strength_level1 + strength_level2 + strength_level3 + strength_level4== 3:
        print("您设置的密码强度较强!")
    elif strength_level1 + strength_level2 + strength_level3 + strength_level4 == 4:
        print("您设置的密码强度极强!")

if __name__ == "__main__":
    main()

运行结果:

判断密码强度(Python)_第1张图片

 

你可能感兴趣的:(python,开发语言,numpy)