Python编程快速上手——强口令检测算法案例分析


Posted in Python onFebruary 29, 2020

本文实例讲述了Python强口令检测算法。分享给大家供大家参考,具体如下:

强口令检测

题目如下:

  • 写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令定义:长度不少于8个字符,同时包含大写和小写字符,至少含有一个数字。可能需要多个正则表达式来测试字符串,以保证其强度。

思路如下:

  • 分析题目得到:
    ? 程序需要编写一个函数
    ? 用户输入强口令
    ? 需要用正则表达式进行判定是否符合条件
  • 因此代码需要做以下几点:
    ? 导入正则表达式库 import re
    ? input()函数用于用户输入
    ? 定义一个函数
    ? 函数需要包含正则表达式对象及判定条件
    ? while循环重复输入,重复调用函数进行判定

  • 着重分析强口令的三个条件
    ? 条件一:长度不少于8个字符。使用点-星(.*)匹配所有字符,加上括号形成单独的分组,至少8个字符采用花括号{}匹配特定次数,{8,}。
    ? 条件二:同时包含大小写。同时包含,即匹配至少一次或多次采用+,加号。大写小写字符针对英文,因此采用方括号[],自定义字符分类。[a-z]+[A-Z]
    ?条件三:至少含有一个数字。至少的含义依旧是匹配一次或多次,采用加号,+,。数字用方括号自定义字符分类[0-9]。+[0-9]

以下是代码

import re
print("强口令要求:字符串长度不少于8个,同时包含大小写,且至少含有一位数字。")
strongStr = input("请输入一个强口令:")

def strongPassword(str): #定义正则表达式函数
  lengthRex = re.compile(r'(.*){8,}[a-z]+[A-Z]+[0-9]') # 创建正则表达式对象
  if lengthRex.search(str) == None: #如果字符串str中没有找到该正则表达式模式,search()方法则返回None
    return False
  if lengthRex.search(str) == True:
    return True

while strongPassword(strongStr) == False: #判断函数返回值是否为False,循环调用函数strongPassword()
  print('口令强度不够!请重新输入:')
  strongStr = input() #重新输入更新字符变量
  strongPassword(strongStr)#再次调用函数
else:
  print('Nice!强口令强度足够,可以使用!')

输出结果

Python编程快速上手——强口令检测算法案例分析

Python 相关文章推荐
python基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Django的HttpRequest和HttpResponse对象详解
Jan 26 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
Python库skimage绘制二值图像代码实例
Apr 10 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
简单了解Python多态与属性运行原理
Jun 15 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
python logging模块的使用
Sep 07 Python
python函数的两种嵌套方法使用
Apr 02 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 #Python
python通用读取vcf文件的类(复制粘贴即可用)
Feb 29 #Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 #Python
Python使用GitPython操作Git版本库的方法
Feb 29 #Python
如何使用python代码操作git代码
Feb 29 #Python
使用 Python 遍历目录树的方法
Feb 29 #Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 #Python
You might like
老照片 - 几十年前的收音机与人
2021/03/02 无线电
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
一个JavaScript变量声明的知识点
2013/10/28 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
vue组件的写法汇总
2018/04/12 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
JavaScript console的使用方法实例分析
2020/04/28 Javascript
js+css实现全屏侧边栏
2020/06/16 Javascript
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
小学教师培训感言
2014/02/11 职场文书
妇女干部培训方案
2014/05/12 职场文书
党支部先进事迹材料
2014/12/24 职场文书
个人年度总结报告
2015/03/09 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
如何通过cmd 连接阿里云服务器
2022/04/18 Servers