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

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日

悬赏问题

  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码