python密碼安全性檢查代碼

密碼安全性檢查代碼

#

低級密碼要求:

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
發佈了18 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章