Maison > interface Web > js tutoriel > le corps du texte

Partagez un exemple d'utilisation d'expressions régulières pour déterminer la force d'un mot de passe

零下一度
Libérer: 2017-06-17 10:54:33
original
1399 Les gens l'ont consulté

Cet article partagera avec vous un exemple de code qui utilise des expressions régulières pour déterminer la force d'un mot de passe. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

.

apprenez le nouveau modèle de Python, j'ai écrit un article et j'ai découvert que 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. aime la théorie, va simplement à la pratique et affine la théorie 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()
Copier après la connexion

Expliquez-le

Mot de passe faible : tous les chiffres, symboles, lettres

Mot de passe moyen : chiffres plus symboles, chiffres plus lettres, lettres plus 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 semble 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 = (&#39;11&#39;,&#39;aa&#39;,&#39;LL&#39;,&#39;1a&#39;,&#39;1_&#39;,&#39;a_&#39;,&#39;a1&#39;,&#39;_1&#39;,&#39;*a&#39;,&#39;1a_&#39;,&#39;1a<&#39;)
 for pw in passwords:
  password_level(pw)
&#39;&#39;&#39;----------------------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<
&#39;&#39;&#39;
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!