利用Python判断你的密码难度等级

时间:2022-10-29 13:51:34

前言

密码是个很私密的东西它一直关联着一系列的机密事物,二战中密码起了很大的作用。在我们生活中尤其是现在我们手机上存在着许多的app是我们生活不可或缺的,在登陆账号时我们是少不了输入密码这一环节,虽然有许多的app可用通过短信验证或者其他方式登录,但是密码可以是其他人来登录你账号的重要途径,密码越难账号越不会被盗。有一个难度系数高的密码是很重要的。

问题描述

我们知道密码我们现在是不可或缺且重要的一样事物。在设立密码时大多都会提醒密码的难度等级有的必须达到一定的等级才可以被使用。我们知道密码是可以由数字符号大写或小写字母组成一段有长度的字符串,那么是否存在这些要数就决定了自己密码的难度等级,当长度达到一定程度是又会获得难度等级的提升。

示例:

输入:5201314cS.

输出:密码等级为5

解决方案

要解决这个问题我们只需要判断所设密码中存不存在数字,符号,小写字母,大写字母,密码长度达未达到可以获得密码等级的长度。

代码清单 了解自己密码难度等级代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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())

结语

问题简单但是关系到大家重要东西的安全性,而且密码也不要一成不变,是不是得去修改自己的密码可以使账号更安全。

问题是解决了但是自我感觉代码可以再简单点又不知道该如何改。

到此这篇关于利用Python判断你的密码难度等级的文章就介绍到这了,更多相关Python密码难度等级内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/gschen_cn/article/details/117408509