Python檢驗用戶輸入密碼的復(fù)雜度
密碼強度檢測規(guī)則:
- 至少包含一個數(shù)字
- 至少包含一個大寫字母
- 長度至少 8 位
主要知識點
- while 循環(huán)
- 推導(dǎo)式
- 列表 any 函數(shù)
- 命令行 input
代碼部分
密碼強度檢測
1、首先創(chuàng)建一個 python 文件
導(dǎo)入系統(tǒng)包
import platform
密碼強度檢測規(guī)則
至少包含一個數(shù)字至少包含一個大寫字母長度至少 8 位
每天打印一詞,激勵一下自己。
print("人生苦短,我用Python")輸入密碼
while True:
password = input("請輸入待檢測密碼: ")
列表推導(dǎo)式使用
print("數(shù)字檢測: ", [i.isdigit() for i in password])
print("大寫字母檢測: ", [i.isupper() for i in password])
print("密碼長度: ", len(password))
是否有數(shù)字, 推導(dǎo)式檢測。
hasNumber = any([i.isdigit() for i in password])
是否有大寫字母, 推導(dǎo)式檢測。
hasUpper = any([i.isupper() for i in password])
密碼檢測
if hasNumber and hasUpper and len(password) >= 8:
print("密碼符合規(guī)則, 檢查通過")
break
else:
print("密碼校驗未通過, 請重新輸入")
2、運行結(jié)果
請輸入待檢測密碼: 123213 數(shù)字檢測: [True, True, True, True, True, True] 大寫字母檢測: [False, False, False, False, False, False] 密碼長度: 6 密碼校驗未通過, 請重新輸入 請輸入待檢測密碼: abc1234 數(shù)字檢測: [False, False, False, True, True, True, True] 大寫字母檢測: [False, False, False, False, False, False, False] 密碼長度: 7 密碼校驗未通過, 請重新輸入 請輸入待檢測密碼: Abc34567 數(shù)字檢測: [False, False, False, True, True, True, True, True] 大寫字母檢測: [True, False, False, False, False, False, False, False] 密碼長度: 8 密碼符合規(guī)則, 檢查通過
全部代碼
import platform
print("人生苦短,我用Python")
while True:
password = input("請輸入待檢測密碼: ")
print("數(shù)字檢測: ", [i.isdigit() for i in password])
print("大寫字母檢測: ", [i.isupper() for i in password])
print("密碼長度: ", len(password))
hasNumber = any([i.isdigit() for i in password])
hasUpper = any([i.isupper() for i in password])
if hasNumber and hasUpper and len(password) >= 8:
print("密碼符合規(guī)則, 檢查通過")
break
else:
print("密碼校驗未通過, 請重新輸入")
到此這篇關(guān)于Python檢驗用戶輸入密碼的復(fù)雜度的文章就介紹到這了,更多相關(guān)Python檢驗密碼復(fù)雜度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3.5內(nèi)置模塊之time與datetime模塊用法實例分析
這篇文章主要介紹了Python3.5內(nèi)置模塊之time與datetime模塊用法,結(jié)合實例形式分析了Python3.5 time與datetime模塊日期時間相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
python語言中pandas字符串分割str.split()函數(shù)
分列在我們?nèi)粘9ぷ髦薪?jīng)常用到,從各種系統(tǒng)中導(dǎo)出的什么訂單號、名稱、日期很多都是復(fù)合組成的,這些列在匹配、合并時沒有辦法使用,我們經(jīng)常需要將她們分開,下面這篇文章主要給大家介紹了關(guān)于python語言中pandas字符串分割str.split()函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-08-08
Python應(yīng)用開發(fā)之實現(xiàn)串口通信
在嵌入式開發(fā)中我們經(jīng)常會用到串口,串口通信簡單,使用起來方便,且適用場景多。本文為大家準(zhǔn)備了Python實現(xiàn)串口通信的示例代碼,需要的可以參考一下2022-11-11
python實現(xiàn)FTP服務(wù)器服務(wù)的方法
本篇文章主要介紹了python實現(xiàn)FTP服務(wù)器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04

