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

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日

悬赏问题

  • ¥15 前端echarts坐标轴问题
  • ¥15 CMFCPropertyPage
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
  • ¥15 谁会P4语言啊,我想请教一下
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳