「已注销」 2022-05-14 15:22 采纳率: 79.3%
浏览 182
已结题

python密码安全强度测试的代码(主要是函数调用问题)

img

检测密码的安全强度。一般密码字符主要有4类:数字、小写字母、大写字母和特殊的几个标点符号(@;,!?<>.)。

密码安全强度主要与字符串的复杂程度有直接关系。如果字符串中包含的字符种类越多,其安全强度越高。这里把安全强度划分为4个等级:安全强度高、中高、中低、弱。其中,“安全强度高”表示字符串中同时包含数字、小写字母、大写字母和标点符号这4种字符,而“安全强度弱”表示仅包含其中一种字符。其他依次类推。

编写程序,输入一个密码字符串,输出该密码的安全强度。

实验要求:
(1)用函数来组织代码,函数参数为密码字符串,返回值为安全强度;
(2)密码字符个数必须大于等于6;

请问这个代码怎么修改,还有返回值这么为安全强度?


while True:
    try:
        mode=input("请输入密码,测试安全程度:")
        s=len(mode)
        assert s>=6
        break
    except:
        print("请重新输入密码,要求密码字符个数必须大于等于6")       
test()    
def test(mode):
    c=0
    tring = "@;,!?<>."
    for i in string:
        if i in mode:
            c=s+1
    for i in mode:
        if '0'<=i<='9':
            c+=1
            break
    for i in mode:
        if 'a'<=i<='z' :
            c+=1
            break
    for i in mode:
        if 'A'<=i<='Z' :
            c+=1
            break
    def safe():
        nonlocal c
        if c==1:print("该密码安全强度弱")
        elif c==2:print("该密码安全强度中低")
        elif c==3:print("该密码安全强度中高")
        elif c==4:print("该密码安全强度强")
    safe()
  • 写回答

2条回答 默认 最新

  • 关注
    
     
    import re
    
    def password_level(pw):
        if len(pw)<6:
            return '长度不符合要求'
        grp = 0
        if re.search('[a-z]',pw)!=None:
            grp += 1
        if re.search('[A-Z]',pw)!=None:
            grp += 1
        if re.search('[0-9]',pw)!=None:
            grp += 1
        if re.search('[!"#$%&\'\(\)*+,\./:;<=>?@\[\]^_`\{|\}~-]',pw)!=None:
            grp += 1
        return ['无','弱','中低','中高','强'][grp]
    while True:
        try:
            pw=input("请输入密码,测试安全程度:")
            s=len(pw)
            assert s>=6
            break
        except:
            print("请重新输入密码,要求密码字符个数必须大于等于6")       
    print(password_level(pw) )
        
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 5月14日

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装
  • ¥40 复杂的限制性的商函数处理