begin process at 2012 05 17 09:53:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > VALIDATION DE MOT DE PASSE

VALIDATION DE MOT DE PASSE


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :assertion, assert, validation, password, passe Niveau :Initié Date de création :03/04/2009 Date de mise à jour :18/08/2009 10:04:20 Vu :5 864

Auteur : Renfield

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


 Description

Bonjour,

Nouvelle source aujourd'hui, pour vous faire apprendre a manipuler l'analyse par avance dans les expressions rationnelles.

le cadre de l'exercice sera de tester la bonne constitution d'un mot de passe sécurisé.

Un mot de passe valide aura
- de 8 à 15 caractères
- au moins une lettre minuscule
- au moins une lettre majuscule
- au moins un chiffre
- au moins un de ces caractères spéciaux: $ @ % * + - _ !
- aucun autre caractère possible: pas de & ni de { par exemple)

Pas simple a faire n'est-ce pas ?

Il est en fait possible de conditionner un motif.
    (?=<CONDITION>)<REGEX>
si ma condition est remplie, la regex sera utilisée pour évaluer la chaine.
Il s'agit en fait d'une "assertion positive avant"
en gros, il FAUT (assertion) que le motif SOIT (POSITIF) reconnu dans la chaine qui SUIT (AVANT) le curseur d'analyse du sujet de la regex.

Les conditions sont en fait des regex classiques, sauf qu'elles ne consomment pas de caractère ; çe qui nous permet de les combiner.

Il est possible de faire une assertion avant ou arrière (selon le moteur de regex utilisé) ; ainsi que des assertions négatives.

par extension, on peut donc faire :

    (?=<CONDITION1>)(?=<CONDITION2>)(?=<CONDITION3>)<R EGEX>

vous voyez où je veux en venir ?

pour valider les caractères présents, ainsi que la longueur, notre expression est:
    ^[\w$@%*+\-_!]{8,15}$

mais là, rien ne nous oblige a mettre tel ou tel élément...

   aaaaaaaa  serait déclaré valide.

en ajoutant une condition :

    ^(?=.*\d)([a-zA-Z\d$@%*+\-_!]{8,15})$

On s'assure que notre chaine n'a que des caractères autorisés, mais surtout qu'elle contient au moins un chiffre.

en jouant de la même manière pour les autres critères, on obtient alors :

    ^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[-+!*$@%_])([- +!*$@%_\w]{8,15})$

Source

  • ^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[-+!*$@%_])([-+!*$@%_\w]{8,15})$
         

           ^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[-+!*$@%_])([-+!*$@%_\w]{8,15})$
         
       

 Conclusion

VALIDE
Team017$
Azerty!4

INVALIDE
toto47
team17$
Team17
Inv!7


 Historique

11 août 2009 16:06:05 :
changement de la description
18 août 2009 10:04:20 :
Ajout d'exemples de tests

 Sources du même auteur

EXTRACTION DES ADRESSES IP

 Sources de la même categorie

EXTRACTION DES ADRESSES IP par Renfield
TRAMES NMEA POUR GPS par AmK
CODE POSTAUX CANADIEN par zen69
Source avec Zip Source avec une capture REGEXP TESTINATOR V1.0.0.0 par f0xi
CODE COULEUR HTML par fabienfs

 Sources en rapport avec celle ci

TOUTES URL INTERNET (HTTP,FTP,MAILTO,NEWS) par fabienfs
CODE COULEUR HTML par fabienfs
NOMBRE POSITIF par fabienfs
CODE POSTAL par fabienfs
CARTE VISA par fabienfs

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales