密碼安全性檢查代碼
#
低級密碼要求:
1. 密碼由單純的數字或字母組成
2. 密碼長度小於等於8位
#
中級密碼要求:
1. 密碼必須由數字、字母或特殊字符(僅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意兩種組合
2. 密碼長度不能低於8位
#
高級密碼要求:
1. 密碼必須由數字、字母及特殊字符(僅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三種組合
2. 密碼只能由字母開頭
3. 密碼長度不能低於16位
fuhao = r'''~!@#$%^&*()_+-=[]{};'\:"|,./<>?'''
shuzi = "0123456789"
zimu = "qwertyuioplkjhgfdsazxcvbnmMNBVCXZLKJHGFDSAPOIUYTREWQ"
'''分析:
長度:如果輸入少於8爲初級,大於8爲中級.大於16爲高級
組合:初級由單獨的字母或數字組成,中級由數字和字母或符號中的任意兩種組合,
高級由三種組合,還必須有字幕開頭
'''
passwd = input("密 碼 輸 入 : ")
length = len(passwd)
# 判斷是否是空
while passwd.isspace() or length == 0:
passwd = input("密碼爲空或是空格,請重新輸入:")
length = len(passwd)
print("您輸入%s位密碼" % length)
# 判斷長度
passwdLength = 0
if length < 8:
passwdLength = 1
elif 8 < length < 16:
passwdLength = 2
else:
passwdLength = 3
# 判斷密碼組合
passwdcon = 0
for i in passwd:
if i in fuhao:
passwdcon += 1
break
for i in passwd:
if i in shuzi:
passwdcon += 1
break
for i in passwd:
if i in zimu:
passwdcon += 1
break
print("有%s種密碼組合" % passwdcon)
while 1:
print("您的密碼安全等級爲:")
if passwdLength == 1 or passwdcon == 1:
print("初級")
elif passwdLength == 3 and passwdcon == 3 and (passwd[0]in zimu):
print("高級")
break
else:
print("中級")
print("請按以下方式提升您的密碼安全級別:\n\
\t1. 密碼必須由數字、字母及特殊字符三種組合\n\
\t2. 密碼只能由字母開頭\n\
\t3. 密碼長度不能低於16位")
break