Python小例子——判断密码强弱

本文介绍了一个简单的密码强度检测算法,该算法通过检查密码长度、是否包含数字和字母来评估密码的强度。通过运行示例代码,可以测试不同密码的强度,并确保其符合基本的安全要求。
# -*- coding: utf-8 -*-
"""
      作者:宇轩亚40
      功能:判断密码强弱
"""

def check_number_exist(password_str):
    """
    判断字符串中是否含有数字
    """
    has_number = False
    for c in password_str:
        if c.isnumeric():
            has_number = True
            break

    return has_number

def check_letter_exist(password_str):
    """
    判断字符串中是否含有字母
    """
    has_letter = False
    for c in password_str:
        if c.isalpha():
            has_letter = True
            break
    return has_letter

def main():
    """
    主函数
    """
    try_times = 5
    while try_times > 0:

        password = input('请输入密码:')
        #密码强弱
        strength_level = 0

        #规则一:密码长度大于8
        if len(password) >= 8:
            strength_level += 1
        else:
            print('密码长度至少8位!')

        #规则二:是否有数字
        if check_number_exist(password):
            strength_level += 1
        else:
            print('密码要求包含数字!')

         #规则二:是否有字母
        if check_letter_exist(password):
            strength_level += 1
        else:
            print('密码要求包含字母!')
        if strength_level == 3:
            print('密码强度合格!')
            break
        else:
            print('密码强度不合格!')
            try_times -= 1
        print()

    if try_times <= 0:
       print('尝试次数过多,密码设置失败!')

if __name__ == '__main__':
     main()

运行上述程序,程序运行结果如下所示:

请输入密码:54r65t
密码长度至少8位!
密码强度不合格!

请输入密码:55351yrt
密码强度合格!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值