Cette fois, je vais vous apporter une vérification par expression régulière pour déterminer la force du mot de passe et des invites, et utiliser la vérification par expression régulière pour déterminer la force du mot de passe et de l'invite Que sont ils ? Voici des cas réels.
J'ai appris le modèle re de Python et écrit un article mais personne ne l'a lu, alors j'ai résumé mon expérience. Personne n'aime la théorie, mais le cœur des gens est dans la pratique. Donc, puisque personne n'aime la théorie, allez simplement sur. pratiquer et affiner dans la pratique. Sans plus tarder, commençons simplement par le code
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()
Expliquez-le
Mot de passe faible : tous les chiffres, symboles, lettres
Mot de passe moyen : chiffres plus symboles, chiffres plus Au dessus des lettres, des lettres plus des symboles
Mot de passe fort : un mélange de trois.
Je ne suis pas sensible à la casse, j'espère que ceux qui sont intéressés pourront l'écrire eux-mêmes. Le problème se produit avec w car w est équivalent à [A-Za-z0-9_], donc au début, W ne peut pas correspondre à la chaîne contenant un trait de soulignement
Jetons un coup d'oeil au niveau du mot de passe moyen, les chiffres plus les symboles ou les lettres ou _ sont un groupe, les lettres plus les symboles ou les soulignements ou les symboles sont un groupe, les symboles ou les soulignements plus les lettres ou les chiffres sont un groupe, j'ai toujours l'impression que le code est faux, mais après l'avoir testé, si vous ne trouvez rien d'anormal, utilisez d'abord cette version 0.0.1
Code de test
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< '''
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des choses plus excitantes, veuillez prêter attention à php Autres articles connexes sur le site chinois !
Lecture recommandée :
Comment utiliser les expressions régulières en js (avec code)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!