python字符串判断密码强弱


Posted in Python onMarch 18, 2020

本文实例为大家分享了Python密码强弱判断的具体代码,供大家参考,具体内容如下

程序说明:通过获取用户输入,判断密码长度是否大于8,同时判断其中是否包含数字和字母,并返回相关信息。

【相关知识点】

Python字符串:

str.isnumeric() -----检测字符串是否只有数字 返回True or False(注意是只有数字)
str.isalpha() -----检测字符串中是否只有字母 返回True or False
str.islower() -----检测字符串中是否都为小写
str.isupper() ------检测字符串中是否都为大写

"""
 作者: 王啸北
 日期: 2019.05.19
 功能: 判断输入密码的强弱
 版本: v2.0
 增加功能: 循环终止
"""

# 判断输入字符串中是否含有数字
def existNumber(password_str):
 has_number = False
 for c in password_str:
  if c.isnumeric():
   has_number = True
   break
 return has_number
 # 程序中一般不连续用两个return
 #   return True # return 提前终止循环
 # return False

# 判断输入字符串中是否含有字母
# def existAlpha(password_str):
#  for c in password_str:
#   if c.isalpha():
#    return True
#  return False

# v2.0 判断输入字符串中是否含有字母
def existAlpha(password_str):
 has_Alpha = False
 for c in password_str:
  if c.isalpha():
   has_Alpha = True
   break
 return has_Alpha

def main():
 """
 主函数
 :return:12
 """

 Try_times = 5
 while Try_times > 0:
  password = input('请输入密码:')
  # 密码强度
  strength_level = 0

  # 规则一: 密码长度大于8
  if len(password) >= 8:
   strength_level += 1
  else:
   print('请输入长度大于8的密码...')

  # 规则二: 判断是否有数字
  if existNumber(password):
   strength_level += 1
  else:
   print('密码中需包含数字')

  #规则三: 密码中包含字母
  if existAlpha(password):
   strength_level += 1
  else:
   print('密码中需包含字母')

  if strength_level == 3:
   print('密码输入正确!')
   break
  else:
   Try_times -= 1
   if Try_times == 0:
    print('密码错误次数太多!')
   else:
    print('密码错误!剩余{}次'.format(Try_times))
  print() #添加空行

if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的桶排序算法示例
Nov 29 Python
了解不常见但是实用的Python技巧
May 23 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
Python3 mmap内存映射文件示例解析
Mar 23 Python
python 监控logcat关键字功能
Sep 04 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
Mar 04 Python
如何解决.cuda()加载用时很长的问题
May 24 Python
详解Python3中的 input() 函数
Mar 18 #Python
Python通过socketserver处理多个链接
Mar 18 #Python
python实现密码强度校验
Mar 18 #Python
Python tcp传输代码实例解析
Mar 18 #Python
python实现用户名密码校验
Mar 18 #Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 #Python
Selenium启动Chrome时配置选项详解
Mar 18 #Python
You might like
PHP中遇到的时区问题解决方法
2015/07/23 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
线程和进程的区别及Python代码实例
2015/02/04 Python
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
SQL面试题
2013/04/30 面试题
小学综治宣传月活动总结
2014/07/02 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
年会邀请函范文
2015/01/30 职场文书
活着观后感
2015/06/03 职场文书
信仰纪录片观后感
2015/06/08 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
基于Python实现一个春节倒计时脚本
2022/01/22 Python
python分分钟绘制精美地图海报
2022/02/15 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python