学习python的过程中,编写的一个检查密码安全性的小脚本
检查的大体情况如下:
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
具体代码:
1 symbols = r'''`!@#$%^&*()_+-=/*{}[]|'";:/?,.<>''' 2 chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 3 nums = '0123456789' 4 5 passwd = input('请输入需要检查的密码组合:') 6 7 # 判断长度 8 length = len(passwd) 9 10 while (passwd.isspace() or length == 0) : 11 passwd = input("您输入的密码为空(或空格),请重新输入:") 12 13 if length <= 8: 14 flag_len = 1 15 elif 8 < length < 16: 16 flag_len = 2 17 else: 18 flag_len = 3 19 20 flag_con = 0 21 22 # 判断是否包含特殊字符 23 for each in passwd: 24 if each in symbols: 25 flag_con += 1 26 break 27 28 # 判断是否包含字母 29 for each in passwd: 30 if each in chars: 31 flag_con += 1 32 break 33 34 # 判断是否包含数字 35 for each in passwd: 36 if each in nums: 37 flag_con += 1 38 break 39 40 # 打印结果 41 while 1 : 42 print("您的密码安全级别评定为:", end='') 43 if flag_len == 1 or flag_con == 1 : 44 print("低") 45 elif flag_len == 2 or flag_con == 2 : 46 print("中") 47 else : 48 print("高") 49 print("请继续保持") 50 break 51 52 print("请按以下方式提升您的密码安全级别: 53 1. 密码必须由数字、字母及特殊字符三种组合 54 2. 密码只能由字母开头 55 3. 密码长度不能低于16位'") 56 break 57 58
代码实现简单,功能可扩展。