python實(shí)現(xiàn)密碼驗(yàn)證合格程序的思路詳解
題目描述
輸入一行或多行字符串密碼,驗(yàn)證每行密碼是否符合規(guī)范,符合提示“OK”,否則“NG”。密碼規(guī)范為:
1.長(zhǎng)度超過(guò)8位
2.包括大小寫(xiě)字母.數(shù)字.其它符號(hào),以上四種至少三種
3.不能有相同長(zhǎng)度超2的子串重復(fù)
解題思路
1.獲取輸入的多行字符串
2.對(duì)每行字符串進(jìn)行密碼驗(yàn)證:
1)如果密碼長(zhǎng)度小于等于8或者是密碼中有長(zhǎng)度超過(guò)2的重復(fù)子串,則密碼NG
2)在1)不滿(mǎn)足的情況下再看有沒(méi)有至少包含大寫(xiě)字母、小寫(xiě)字母、數(shù)字、其他符號(hào)
python代碼實(shí)現(xiàn)
import sys import re def has_Dup(str): for i in range(len(str)-3): for j in range(i+1, len(str)-3): if str[i:i+3] == str[j:j+3]: return True def check_pwd(pwd): if len(pwd) <= 8 or has_Dup(pwd): return False count = 0 if re.search('[0-9]', pwd): count += 1 if re.search('[a-z]', pwd): count += 1 if re.search('[A-Z]', pwd): count += 1 if re.search('\W', pwd): count += 1 if count >= 3: return True pwdList = sys.stdin.readlines() for x in pwdList: x = x.strip() if check_pwd(x): print('OK') else: print('NG')
總結(jié)
到此這篇關(guān)于python實(shí)現(xiàn)密碼驗(yàn)證合格程序的思路詳解的文章就介紹到這了,更多相關(guān)python密碼驗(yàn)證合格程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 用python的哈希函數(shù)對(duì)密碼加密
- python 密碼學(xué)示例——理解哈希(Hash)算法
- Python驗(yàn)證用戶(hù)密碼是否規(guī)范腳本示例
- python?密碼驗(yàn)證(滑塊驗(yàn)證)
- 詳解Python中的自定義密碼驗(yàn)證
- Python實(shí)現(xiàn)破解網(wǎng)站登錄密碼(帶token驗(yàn)證)
- python實(shí)現(xiàn)三次密碼驗(yàn)證的示例
- Python使用selenium實(shí)現(xiàn)網(wǎng)頁(yè)用戶(hù)名 密碼 驗(yàn)證碼自動(dòng)登錄功能
- Python使用bcrypt?或?Passlib?對(duì)系統(tǒng)用戶(hù)密碼進(jìn)行哈希和驗(yàn)證處理操作
相關(guān)文章
如何在Flask中實(shí)現(xiàn)數(shù)據(jù)分組流程詳解
在Flask中,數(shù)據(jù)分組是指將一組數(shù)據(jù)按照某種方式進(jìn)行分類(lèi),以便更好地對(duì)數(shù)據(jù)進(jìn)行處理和展示,可以使用Python內(nèi)置的itertools模塊中的groupby方法,或者使用SQL語(yǔ)句中的GROUP?BY子句來(lái)實(shí)現(xiàn)數(shù)據(jù)分組,這篇文章介紹了在Flask中實(shí)現(xiàn)數(shù)據(jù)分組,感興趣的同學(xué)可以參考下文2023-05-05Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用
這篇文章主要介紹了Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09python深度學(xué)習(xí)之多標(biāo)簽分類(lèi)器及pytorch實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了python深度學(xué)習(xí)之多標(biāo)簽分類(lèi)器的使用說(shuō)明及pytorch的實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01tensorflow 2.0模式下訓(xùn)練的模型轉(zhuǎn)成 tf1.x 版本的pb模型實(shí)例
這篇文章主要介紹了tensorflow 2.0模式下訓(xùn)練的模型轉(zhuǎn)成 tf1.x 版本的pb模型實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過(guò)來(lái)看看吧2020-06-06基于TensorBoard中g(shù)raph模塊圖結(jié)構(gòu)分析
今天小編就為大家分享一篇基于TensorBoard中g(shù)raph模塊圖結(jié)構(gòu)分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表詳解
循環(huán)鏈表 (Circular Linked List) 是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的另一種形式,它將鏈表中最后一個(gè)結(jié)點(diǎn)的指針指向鏈表的頭結(jié)點(diǎn),使整個(gè)鏈表頭尾相接形成一個(gè)環(huán)形,使鏈表的操作更加方便靈活。本文將詳細(xì)介紹一下循環(huán)鏈表的相關(guān)知識(shí),需要的可以參考一下2022-01-01Django中URL視圖函數(shù)的一些高級(jí)概念介紹
這篇文章主要介紹了Django中URL視圖函數(shù)的一些高級(jí)概念,Django是Python重多人氣框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07