Python的学习笔记案例6--判断密码强度1.0

密码强度:是指一个密码对抗财产或者暴力破解的有效程度;一般是指一个未授权访问者得到正确密码的平均尝试次数。
强密码可以降低安全漏洞的整体风险。
简易版(常用)规则:
       1、密码长度至少8位
       2、密码含有数字
       3、密码含有字母

设置一个变量strength_level用于记录密码的强度,初始位0.满足一个条件,对其加1。
       长度判断:使用len()方法;
       包含数字判断:使用isnumeric()方法;
       包含字母判断:使用isalpha()方法;
       如果strength_level等于3,密码强度合格,否则不合格。

str.isnumeric()
       检测字符串是否只由数字组成
str.isalpha()
       检测字符串是否只由字母组成
str.islower()
       检测字符串中所有的字母是否都为小写
str.isupper()
       检测字符串中所有的字母是否都为大写
更多is***()方法请参考:
       https://docs.python.org/3/library/stdtypes.html#string-methods


"""
    作者:lanxingbudui
    版本:1.0
    日期:2019-07-15
    功能:判断密码强度
"""


def check_number_str(password_str):
    """
    判断字符串是否包含数字
    """
    for c in password_str:
        if c.isnumeric():
            return True
    return False


def check_letter_str(password_str):
    """
    判断字符串是否包含字母
    """
    for c in password_str:
        if c.isalpha():
            return True
    return False


def main():
    """
    主函数
    """
    pass
    password = input('请输入密码:')

    # 密码强度
    strength_level = 0

    # 规则1:密码长度大于8位
    if len(password) >= 8:
        strength_level += 1
    else:
        print('密码长度必须大于8位')
    # 规则2:密码包含数字
    if check_number_str(password):
        strength_level += 1
    else:
        print('密码要求包含数字!')
    # 规则3:密码包含字母
    if check_letter_str(password):
        strength_level += 1
    else:
        print('密码要求包含字母!')
    if strength_level == 3:
        print('密码强度合格!')
    else:
        print('密码强度不合格!')


if __name__ == '__main__':
        main()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值