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和php通信乱码问题解决方法
Apr 15 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
几个提升Python运行效率的方法之间的对比
Apr 03 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
python利用有道翻译实现"语言翻译器"的功能实例
Nov 14 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
用python制作个视频下载器
Feb 01 Python
Python中os模块的简单使用及重命名操作
Apr 17 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巧获服务器端信息
2006/12/06 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
yii操作session实例简介
2014/07/31 PHP
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
零基础学Python(一)Python环境安装
2014/08/20 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
opencv与numpy的图像基本操作
2019/03/08 Python
python实现AES加密与解密
2019/03/28 Python
详解python中的hashlib模块的使用
2019/04/22 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
青年志愿者活动方案
2014/08/17 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers