密码强度.

输入一串字符作为密码,密码只能由数字与字母组成。编写一个函数judge(password),用来求出密码的强度level。在主程序中调用该函数,根据输入,输出对应密码强度。密码强度判断准则如下(密码强度从0开始,满足其中一条,强度增加一级):①有数字;②有大写字母;③有小写字;④位数不少于8位。
比如:
abc123的密码强度为2级
Abc123的密码强度为3级
Abc12345的密码强度为4级

函数接口定义:

 

在这里描述函数接口。例如: def judge(password):

函数的参数password是一个字符串,函数要输出一个整数(密码强度)。

裁判测试程序样例:

 

/* 请在这里填写答案 */ password=input() print("密码{}强度为{}".format(password,judge(password)))

输入样例:

在这里给出一组输入。例如:

Str123

输出样例:

在这里给出相应的输出。例如:

密码Str123强度为3
def judge(password):
    level = 0
    if len(password)>=8:
        level +=1
    if any(char.isdigit() for char in password):
        level +=1
    if any(char.isupper() for char in password):
        level +=1
    if any(char.islower() for char in password):
        level +=1
    return level
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
密码强度是指密码的安全程度,即密码对于破解者来说有多难以猜测或者破解。在Python中,可以通过一些方法来评估密码的强度。 一种常见的方法是使用正则表达式来检查密码是否符合一定的规则,例如包含大写字母、小写字母数字和特殊字符等。可以使用re模块来实现正则表达式的匹配。 另一种方法是计算密码的熵值,即密码中包含的信息量。熵值越高,密码越难以被猜测或者破解。可以使用math模块来计算熵值。 以下是一个简单的示例代码,用于评估密码的强度: ```python import re import math def check_password_strength(password): # 检查密码是否符合规则 if not re.match(r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$", password): return "密码不符合规则" # 计算密码的熵值 entropy = 0 characters = set(password) for char in characters: p = password.count(char) / len(password) entropy -= p * math.log2(p) # 根据熵值评估密码强度 if entropy < 2: return "密码强度较弱" elif entropy < 3: return "密码强度一般" else: return "密码强度较高" # 测试 password = input("请输入密码:") strength = check_password_strength(password) print(strength) ``` 请注意,以上代码只是一个简单的示例,实际上评估密码强度一个复杂的问题,需要考虑更多的因素。在实际应用中,建议使用成熟的密码强度评估库或者算法来确保密码的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值