国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > regex > 正文

使用正則表達式判斷密碼強弱

2020-01-20 22:01:43
字體:
來源:轉載
供稿:網友

學python的re模板,寫了個文章發現沒人看,所以總結出來經驗,理論沒人愛,實戰的人心,那么既然沒人喜歡理論就直接上實戰,在實戰中精煉理論.不多說直接先上代碼

def password_level(password): weak = re.compile(r'^((/d+)|([A-Za-z]+)|(/W+))$') level_weak = weak.match(password) level_middle = re.match(r'([0-9]+(/W+|/_+|[A-Za-z]+))+|([A-Za-z]+(/W+|/_+|/d+))+|((/W+|/_+)+(/d+|/w+))+',password) level_strong = re.match(r'(/w+|/W+)+',password) if level_weak:  print 'password level is weak',level_weak.group() else:  if (level_middle and len(level_middle.group())==len(password)):   print 'password level is middle',level_middle.group()  else:   if level_strong and len(level_strong.group())==len(password):    print 'password level is strong',level_strong.group()

解釋一下

弱密碼:全是數字,符號,字母

中等密碼:數字加上符號,數字加上字母,字母加上符號

強密碼:三個混合.

我沒有區分大小寫,希望有興趣的可以自己寫寫.問題出現在/w上因為/w等價與[A-Za-z0-9_]所以前期通過/W不能匹配到包含下滑線的字符串

我們來看看中等密碼,數字加上符號或者字母或者_是一個組,字母加上符號或者下劃線或者符號是一個組,符號或者下劃線加上字母或者數字是一個組,我總覺得這個里面的代碼好像不對但是通過測試又沒發現什么不對的地方,就先用這個版本0.0.1吧

測試代碼

if __name__ == '__main__': passwords = ('11','aa','LL','1a','1_','a_','a1','_1','*a','1a_','1a<') for pw in passwords:  password_level(pw)'''----------------------output------------------------#password level is weak 11#password level is weak aa#password level is weak LL#password level is middle 1a#password level is middle 1_#password level is middle a_#password level is middle a1#password level is middle _1#password level is middle *a#password level is strong 1a_#password level is strong 1a<'''

以上所述是小編給大家介紹的使用正則表達式判斷密碼強弱的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐安县| 云林县| 威信县| 汤阴县| 赫章县| 崇礼县| 斗六市| 富川| 阜新| 新源县| 育儿| 策勒县| 武威市| 雅江县| 博乐市| 漳浦县| 台中县| 阳泉市| 延川县| 怀远县| 武功县| 永昌县| 陇西县| 昌江| 昭苏县| 霸州市| 景德镇市| 白水县| 三穗县| 镇安县| 泸州市| 大英县| 墨竹工卡县| 东兰县| 万山特区| 邹城市| 兰考县| 偏关县| 德庆县| 阿尔山市| 玛纳斯县|