m0_66886328 2022-05-09 19:54 采纳率: 100%
浏览 458
已结题

python密码强度判断

import string

pwd = input()
strong = d = al = au = pu = 0
for ch in pwd:
if ch in string.digits: #是否包含数字
d = 1
elif ch in string.ascii_lowercase: #是否包含小写字母
al = 1
elif ch in string.ascii_uppercase: #是否包含大写字母
au = 1
elif ch in string.punctuation: #是否包含指定的标点符号
pu = 1
if len(pwd) < 8:
strong = 0
else:
strong = d + al + au + pu
if strong < 2:
print('weak')
elif strong == 2:
print('medium')
elif strong == 3:
print('good')
elif strong == 4:
print('excellent')
我该怎么做才能
(1)用于密码的英文字符被分为四种:(1)字母(2)数字(3)英文标点符号(4)其他所有英文字符。
其中,标点符号包括: ?!.,'";:`_-()[]/*
(2)不区分字母大小写

  • 写回答

2条回答 默认 最新

  • A Python 萌新花花 2022-05-09 20:05
    关注
    
    import re
    a = input()
    strong = 0
    if len(re.findall(r"[0-9]",a)) > 0:
        strong += 1
    if len(re.findall(r"[A-Za-z]",a)) > 0:
        strong += 1
    if len(re.findall(r"[!?,.;:]",a)) > 0:
        strong += 1
    if len(re.findall(r"[@#$%^&*(){}|\\<>/]",a)) > 0:
        strong += 1
    if strong < 2:
        print('weak')
    elif strong == 2:
        print('medium')
    elif strong == 3:
        print('good')
    elif strong == 4:
        print('excellent')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月9日
  • 已采纳回答 5月9日
  • 赞助了问题酬金5元 5月9日
  • 创建了问题 5月9日

悬赏问题

  • ¥20 C# TCP服务端,客户端退出后,不断有数据进来
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?