天天看點

密碼安全性檢查代碼

代碼塊來源于網絡

條件

*

  1. # 密碼安全性檢查代碼
  2. #
  3. # 低級密碼要求:
  4. # 1. 密碼由單純的數字或字母組成
  5. # 2. 密碼長度小于等于8位
  6. #
  7. # 中級密碼要求:
  8. # 1. 密碼必須由數字、字母或特殊字元(僅限:[email protected]#$%^&* ()_=-/,.?<>;:[]{}|\)任意兩種組合
  9. # 2. 密碼長度不能低于8位
  10. #
  11. # 進階密碼要求:
  12. # 1. 密碼必須由數字、字母及特殊字元(僅限:[email protected]#$%^&* ()_=-/,.?<>;:[]{}|\)三種組合
  13. # 2. 密碼隻能由字母開頭
  14. # 3. 密碼長度不能低于16位

*

symbols = r'''`[email protected]#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'

passwd = input('請輸入需要檢查的密碼組合:')
           

# 判斷長度

length = len(passwd) #有利于運作

while (passwd.isspace() or length == ) :
    passwd = input("您輸入的密碼為空(或空格),請重新輸入:")

if length <= :
    flag_len = 
elif  < length < :
    flag_len = 
else:
    flag_len = 

flag_con = 
           

# 判斷是否包含特殊字元

for each in passwd:
    if each in symbols:
        flag_con += 
        break
           

# 判斷是否包含字母

for each in passwd:
    if each in chars:
        flag_con += 
        break
           

# 判斷是否包含數字

for each in passwd:
    if each in nums:
        flag_con += 
        break    
           

# 列印結果

while  :
    print("您的密碼安全級别評定為:", end='')
    if flag_len ==  or flag_con ==  :

        print("低")
    elif flag_len ==  or flag_con ==  :

        print("中")
    else :

        print("高")
        print("請繼續保持")
        break

    print("請按以下方式提升您的密碼安全級别:\n\
        \t1. 密碼必須由數字、字母及特殊字元三種組合\n\
        \t2. 密碼隻能由字母開頭\n\
        \t3. 密碼長度不能低于16位'")
    break