利用Python判断你的密码难度等级
作者:算法与编程之美 发布时间:2021-04-10 20:46:08
标签:python,密码,强度
前言
密码是个很私密的东西它一直关联着一系列的机密事物,二战中密码起了很大的作用。在我们生活中尤其是现在我们手机上存在着许多的app是我们生活不可或缺的,在登陆账号时我们是少不了输入密码这一环节,虽然有许多的app可用通过短信验证或者其他方式登录,但是密码可以是其他人来登录你账号的重要途径,密码越难账号越不会被盗。有一个难度系数高的密码是很重要的。
问题描述
我们知道密码我们现在是不可或缺且重要的一样事物。在设立密码时大多都会提醒密码的难度等级有的必须达到一定的等级才可以被使用。我们知道密码是可以由数字符号大写或小写字母组成一段有长度的字符串,那么是否存在这些要数就决定了自己密码的难度等级,当长度达到一定程度是又会获得难度等级的提升。
示例:
输入:5201314cS.
输出:密码等级为5
解决方案
要解决这个问题我们只需要判断所设密码中存不存在数字,符号,小写字母,大写字母,密码长度达未达到可以获得密码等级的长度。
代码清单 了解自己密码难度等级代码
def level():
def number(password): # 判断数字
number = False
for c in password:
if c.isnumeric():
number = True
break
return number
def islower(password): # 小写
islower = False
for c in password:
if c.islower():
islower = True
break
return islower
def isupper(password): # 大写
isupper = False
for c in password:
if c.isupper():
isupper = True
break
return isupper
def string(password): # 标点
str=(',.:;*@$%^&!')
string = False
for c in password:
if c in str:
string = True
break
return string
password = input('请输入密码:')
# 密码强度,初始化为0
strength_level = 0
a=len(password)//6
strength_level += a
if number(password):
strength_level += 1
if islower(password):
strength_level += 1
if isupper(password):
strength_level += 1
if str(password):
strength_level += 1
print("您的密码强度为{}".format(strength_level))
print(level())
结语
问题简单但是关系到大家重要东西的安全性,而且密码也不要一成不变,是不是得去修改自己的密码可以使账号更安全。
问题是解决了但是自我感觉代码可以再简单点又不知道该如何改。
来源:https://blog.csdn.net/gschen_cn/article/details/117408509
0
投稿
猜你喜欢
- python怎么求最大公约数和最小公倍数一、求最大公约数用辗转相除法求最大公约数的算法如下:两个正整数a和b(a>b),它们的最大公约
- 本文实例分析了php中Ctype函数用法。分享给大家供大家参考。具体分析如下:Ctype函数是Php的Ctype扩展函数提供了一组函数用于校
- 本文实例讲述了Python AES加密模块用法。分享给大家供大家参考,具体如下:AES是新的一种加密模块。在上次介绍过在C语言中如何来Ope
- css实现的圆角矩形的方式很多,但要追求灵活型,上面的结构简单,看起来爽一点注意css所用的图片路径,已修改兼容ie6 ie7 ff ,IE
- 在ASP与ASP.NET之间共享对话状态(1)ASP实现原来的ASP对话只能将对话数据保存在内存中。为了将对话数据保存到SQL Server
- unittest是python的一个单元测试框架关于断言它是用于对一个确定结果和预测结果的一种判断,如果结果正确无任何返回效果,如果结果错误
- 关于数据库的逻辑设计,是一个很广泛的问题。本文主要针对开发应用中遇到在MS SQL Server上进行表设计时,对表的主键设计应注意的问题以
- Socket 套接字:通讯端点 简介socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读
- 最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只
- 当服务器必须提供与两个或更多个网络或网络子网的连接时,典型的方案是使用多宿主计算机。此计算机通常位于外围网络(也称为 DMZ、外围安全区域或
- context 有什么作用context 主要用来在goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等。
- <html> <head> <title>Untitled Document</title>
- 准备工作: ① 首先要会使用ThinkPHP这个框架 ② 最好有些ajax的基础(可以去看下小飞的另外一篇博文:Ajax实时验证"
- Requests具有完备的中英文文档, 能完全满足当前网络的需求, 它使用了urllib3, 拥有其所有的特性!最近在学python自动化,
- 简介:numba是Anaconda公司开发的针对Python的开源JIT编译器,用于提供Python版CPU和GPU编程,速度比原生Pyth
- 在最近一个项目中,表单验证需要对时间的起止范围进行判断:结束时间需大于或等于开始时间。即:结束年须大于起始年;如果相等,则比较起始月与结束月
- 写程序的人在编写由asp页面生成静态页面html的时候,如果同时生成大量页面,一定遇到过浏览器下方的进度条上显示着3%,6%,10%等缓慢增
- ACCESS数据库中Field对象的caption属性(也就是标题)是用来设置数据字段的标题,在正常的数据库设计中为了保持维护的便利性,许多
- 上次说到的,使用如下代码保存矢量图时,放在外侧的图例往往显示不完整:import numpy as npimport matplotlib.
- 1. python三维图表绘制方法简介python三维图表的绘制算是二维图表的一个进阶版本,本质上和二维图表的绘制并无差别,唯一的区别在于使