密碼強度判斷(Python123)


密碼強度判斷

描述

用戶輸入一個字符串做為密碼,判斷密碼強度,規則為:密碼長度小於8弱密碼,密碼長度大於等於8且包含至少2種字符為中等強度、密碼包含3種字符為強、包含全部4種字符為極強。
提示:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'

輸入格式

輸入一個字符串

輸出格式

密碼強度的判斷結果,分:弱、中、強、極強,共四種

代碼

import string
keys = input()
a = b = c = d = num = 0
if len(keys) < 8: # 長度小於8,直接判斷為弱
    print('弱')
else:
    for key in keys: # 遍歷keys
        if key in string.digits:
            a = 1 # 如果有數字,則數字種類存在,記作1
        elif key in string.ascii_lowercase:
            b = 1# 如果有小寫字母,則小寫字母存在,記作1
        elif key in string.ascii_uppercase:
            c = 1 # 如果有大寫字母,則大小字母存在,記作1
        elif key in string.punctuation:
            d = 1 # 如果有特殊字符,則特殊字符存在,記作1
        else: # 其他的直接跳過
            pass
    num = sum([a, b, c, d]) # 計算種類和
    if num < 2: # 根據字符種類來判別密碼強度
        print('弱')
    if num == 2:
        print('中')
    if num == 3:
        print('強')
    if num == 4:
        print('極強')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM