码迷,mamicode.com
首页 > 编程语言 > 详细

Python练习题9(密码判断):请写一个密码安全性检查的代码代码: 首先判断密码的强度,如果结果是低或中则打印如何提升密码安全级别的提示,而高则直接退出

时间:2019-01-13 00:22:11      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:如何   结果   put   等级   运算   退出   级别   判断   不能   

‘‘‘请写一个密码安全性检查的代码代码:
首先判断密码的强度,如果结果是低或中则打印如何提升密码安全级别的提示,而高则直接退出

# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位‘‘‘

 

方法一:通过检查循环输入密码的每一个字母,是否包含数字、字母或特殊字符,然后通过逻辑运算符组合判断是为低级密码/中级密码/高级密码。

 1 def check_passwd():
 2     character = ~!@#$%^&*()_=-/,.?<>;:[]{}|\\
 3     while True:
 4         context = input("请输入密码:")
 5         length = len(context)
 6         dit = 0
 7         alp = 0
 8         char = 0
 9         flag = 1
10         for n in context:
11             if n in character:                                #检查密码是否有特殊字符
12                 char = 1
13             elif n.isdigit():                                 #检查密码是否有数字
14                 dit = 1
15             elif n.encode(UTF-8).isalpha():                 #检查密码是否有字母
16                 alp = 1
17             else:                                             #检查密码含有其他字符
18                 flag = 0
19                 
20         if flag == 0:
21             result = "密码不合法!密码只能由数字、字母及特殊字符组成,请重新输入:"
22         elif dit and alp and char and length >= 16 and context[0].isalpha():
23         #高级密码,密码有数字、字母和特殊字母,长度大于等于16位,由字母开头
24             result = "您的密码等级为高"
25             break
26         elif ((dit and alp) or (dit and char) or (alp and char)) and length > 8:
27         #密码由数字和字母、或数字和特殊字符、或字母和特殊字符组成,且长度大于8位
28             result = "您的密码等级为中,请使用数字、字母及特殊字符三种组合,由字母开头,密码位数不少于16位来提升至高等级" 
29         elif (dit or alp) or length <=8:
30         #密码由数字或字母组成,或长度小于等于8位
31             result = "您的密码等级为低,请使用数字、字母及特殊字符三种组合,由字母开头,密码位数不少于16位来提升至高等级"
32         else:
33         #其他情况则返回密码不合法
34             result = 密码不能全为特殊字符,请重新输入!
35         
36         print(result)
37 
38 check_passwd()

 

Python练习题9(密码判断):请写一个密码安全性检查的代码代码: 首先判断密码的强度,如果结果是低或中则打印如何提升密码安全级别的提示,而高则直接退出

标签:如何   结果   put   等级   运算   退出   级别   判断   不能   

原文地址:https://www.cnblogs.com/felixqiang/p/10261288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!