实验描述:

一般地,可以作为密码字符的主要有数字、小写字母、大写字母和几个标点符号。密码安全强度主要和字符串的复杂程度有关系,字符串中包含的字符种类越多,认为其安全强度越高。按照这个标准,可以把安全强度分为强密码、中高、中低、弱密码。其中强密码表示字符串中同时含有数字、小写字母、大写字母、标点符号这四类自负,而弱密码表示字符串中仅包含4类字符中的一种。

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

代码实现:

from string import digits, ascii_lowercase, ascii_uppercasedef check(pwd):# 密码必须至少包含6个字符if not isinstance(pwd, str) or len(pwd) < 6:return 'not suitable for password'# 密码强度等级与包含的种类的对应关系d = {1: 'weak', 2: 'below middle', 3: 'above middle', 4: 'strong'}# 分别用来标记pwd是否含有数字,大小写字母# 大写字母和指定的标点符号r = [False] * 4for ch in pwd:# 是否包含数字if not r[0] and ch in digits:r[0] = True# 是否包含小写字母elif not r[1] and ch in ascii_lowercase:r[1] = True# 是否包含大写字母elif not r[2] and ch in ascii_lowercase:r[2] = True# 是否包含指定的标点符号elif not r[3] and ch in ',.!;?<>':r[3] = True# 统计包含的字符种类,返回密码强度return d.get(r.count(True), 'error')print(check('a2Cd,abc'))

实验结果:

Python检测密码强度相关推荐

  1. php 检测密码,php检测密码强度

    先收藏一下,说不定什么时候就用上了, /** * 检测密码强度 */ function password_strength($string){ $h    = 0; $size = strlen($s ...

  2. python判断密码强度_python实现密码强度校验

    本文实例为大家分享了python实现密码强度校验的具体代码,供大家参考,具体内容如下 一 校验规则 规则1 密码长度8位以上 规则2 密码需包含数字 规则3 密码需包含大小写字母 规则4 密码需包含特 ...

  3. js检测密码强度的功能实现逻辑思路及实例

    适用范围:js.node以及其他语言的密码强度验证逻辑参考. 文章说明:分享密码强度验证的逻辑.实例.思路. 简单实例: //以密码的字符长度,包含内容进行一个得分的输出 var pwd = &quo ...

  4. Python设计代码,检测密码强度

    为了加强某购票网站用户账户的安全性,小明用python设计了如下的密码强度检测程序,其实现的功能如下:输入要检测的密码,输出密码强度结果.密码字符分为数字字符.字母和其他符号三类.密码强度的检测方法为 ...

  5. python判断密码强度并输出_Python实现的密码强度检测器示例

    本文实例讲述了Python实现的密码强度检测器.分享给大家供大家参考,具体如下: 密码强度 密码强度如何量化呢? 一个密码可以有以下几种类型:长度.大写字母.小写字母.数字以及特殊符号. 显然,密码包 ...

  6. python判断密码强度并输出_密码强度判断

    [python]代码库def pdsz(cd): nnnn = False for c in cd: if c.isnumeric(): nnnn = True break return nnnn d ...

  7. python密码测试代码_python使用正则表达式检测密码强度源码分享

    #encoding=utf-8 #------------------------------------------------------------------------------- # N ...

  8. Python实战项目(五)检测密码强度并生成强密码(防暴力破解)

  9. python判断密码强度_python – 检查密码的强度(如何检查条件)

    你好 最好的方法是使用正则表达式搜索 这是我目前使用的功能 def password_check(password): """ Verify the strength o ...

最新文章

  1. 解决Docker容器 iptables问题
  2. 互联网协议 — STP 生成树协议
  3. twitter api 无法连接_光大银行牟健君:金融API的安全问题和应对技术
  4. 两个具有相同的名称在CLASSPATH中的类
  5. 深度学习之卷积神经网络(12)深度残差网络
  6. linux脚本启三个tomcat,linux 重写Tomcat启停脚本
  7. mysql迭代查询并分页_mysql 数据库 分页查询优化
  8. 六安瓜片在51CTO【礼树迎蛇 红满社区】
  9. C# ComboBox自动完成功能的例子
  10. WCF同步到异步转换
  11. 统计php代码执行情况,PHP代码执行函数总结
  12. 对《构建之法——现代软件工程》13-17章的困惑与思考
  13. JAVA经纬度距离计算并排序-Spatial4j+ForkJoin
  14. 模式识别、机器学习的区别和联系
  15. IDEA 光标快捷键
  16. 【day02】选择题题解
  17. 动态ani_你是哪张Ani专辑?
  18. android cpu调度6,关于安卓系统的手机CPU频率和I/O调度器的设置,如何设置才能让手机更流畅,求解释。...
  19. java抽象类计算正方体面积_怎么用java里抽象类的方式计算相应形状的面积
  20. ios harmonyos,MIUI 13,IOS 15,鸿蒙OS系统 六月份齐上线,一文了解都有哪些升级与亮点...

热门文章

  1. 最适合 Apple Silicon 的 Tensorflow 环境搭建
  2. 精通xmi_UML,XMI和代码生成,第2部分
  3. vue.js实现的实名认证手机页面前端源码,代码完整
  4. HTML插入在线图片不成功?
  5. 前端基础知识第一章---HTML
  6. macOs 无法授权向日葵屏幕录制权限的办法
  7. 创建iOS应用图标,图标DIY模板
  8. js操作cookie
  9. Android培训Android课堂重点内容汇总
  10. 英语一 英语二 大小作文高分作文模板来啦!