判断密码强弱5.0

本文介绍了一个密码强度检测工具的实现,该工具通过检查密码长度、是否包含数字和字母来评估密码强度。用户输入密码后,工具会进行检测并返回强度等级,同时记录在本地文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
程序:

class PasswordTool:#密码工具箱
    def __init__(self,password):
        #类的属性
        self.password=password
        self.strength_level=0

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

        # 规则2:包含数字
        if self.check_number():
            self.strength_level += 1
        else:
            print('密码要求包含数字!')

        # 规则3:包含字母
        if self.check_letter():
            self.strength_level += 1
        else:
            print('密码长度要求包含字母!')

    #类的方法
    def check_number(self):  # 判断是否含有数字
        has_number = False
        for c in self.password:
            if c.isnumeric():
                has_number = True
                break
        return has_number

    def check_letter(self):  # 判断是否含有字母
        has_letter = False
        for c in self.password:
            if c.isalpha():
                has_letter = True
                break
        return has_letter

def main():

    try_time=5
    while try_time>0:

         password = input('请输入密码:')

         password_tool=PasswordTool(password)
         password_tool.process_password()

         f = open('C:/Users/Administrator/Desktop/password5.0.txt', 'a')
         f.write('密码:{},强度:{}\n'.format(password,password_tool.strength_level))
         f.close()

         if password_tool.strength_level==3:
             print('恭喜!密码强度合格!')
             break
         else:
             print('密码强度不合格!')
             try_time-=1
         print()

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

if __name__=='__main__':
    main()

运行结果:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值