Tester sécurité mot de passe

Résolu
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008 - 5 sept. 2008 à 10:10
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008 - 5 sept. 2008 à 14:18
Bonjour à toutes et tous, voici quelques jours que je cherche mais que je n'arrive pas à mes fins !

J'aimerai dans un de mes projets, pouvoir créer un test sur le niveau de sécurité du mot de passe.

Exemple, si le mot de passe contient que des minuscules, un message affiche niveau très faible, s'il contient des minuscules et des chiffres un message niveau moyen et finalement s'il contient des majuscules, des minuscules et des chiffres, il est de niveau élevé !

Pourriez-vous m'aider...

D'avance je vous remercie

Gilles

7 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 sept. 2008 à 11:03
Bonjour,

un petit exemple (entre autres possibles) à 4 niveaux (le 4ème étant les accents)

Private Sub Command1_Click()
  Dim mdp As String, accents As String, niveau As Integer
  mdp = "aBcDEé1éï2"
  accents = "éèàùïôî"
  niveau = 0
  If mdp Like "*#*" Then niveau = niveau + 1
  If mdp Like "*[A-Z]*" Then niveau = niveau + 1
  If mdp Like "*[a-z]*" Then niveau = niveau + 1
  For i = 1 To Len(mdp)
    If InStr(accents, Mid(mdp, i, 1)) > 0 Then
      niveau = niveau + 1
      Exit For
    End If
  Next
  MsgBox niveau
End Sub
3
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
5 sept. 2008 à 10:21
Salut,

Tu dois tester la chaine de caractère en testant si le code ascii

De caracterechaine 1 à longueur de la chaine
   si caractere = code ascii compris entre ... et ... alors
         Niveau 1
   Si si caractere = code ascii compris entre ... et ... alors
         Niveau 2
   si caractere = code ascii compris entre ... et ... alors
         Niveau 3
Fin de

Selon Niveau
   Cas 1
         Sécurité 1
   Cas 2
         Sécurité 2
   Cas 3
         Sécurité 3
  Fin Selon...
S.L.B.
<hr />
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
5 sept. 2008 à 10:25
Merci je vais essayer de coder un ptit quelques chose avec cette idée qui me parait pas mal du tou

Si j'ai une question tu reste en ligne ou pas ?

Merci
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
5 sept. 2008 à 10:37
Re:
Je corrige :

De caracterechaine 1 à longueur de la chaine
   ' pour que les minuscule
   Si caracterechaine=codeAscii compris entre 61 et 7A 
         Niveau1=vrai
   'pour que les caractere en majuscule
   Si caracterechaine=codeAscii compris entre 41 et 5A 
         Niveau2=vrai
   'pour que les caractere en numérique
   Si caracterechaine=codeAscii compris entre 30 et 39 
         Niveau3=vrai
 Fin de

Si Niveau1=vrai ET Niveau2=vrai ET Niveau3=vrai alors
   message "Mot de passe : Sécurité Haute"
Si Niveau1=vrai ET Niveau2=faux ET Niveau3=faux alors
   message "Mot de passe : Sécurité Basse"
Si Niveau1=faux ET Niveau2=vrai ET Niveau3=fauxalors
   message "Mot de passe : Sécurité Basse
Si Niveau1=faux ET Niveau2=faux ET Niveau3=vrai alors
   message "Mot de passe : Sécurité Basse"
Si Niveau1=vrai ET Niveau2=vrai ET Niveau3=faux alors
   message "Mot de passe : Sécurité Moyenne"
Si Niveau1=vrai ET Niveau2=faux ET Niveau3=vrai alors
   message "Mot de passe : Sécurité Moyenne"
Si Niveau1=faux ET Niveau2=vrai ET Niveau3=vrai alors
   message "Mot de passe : Sécurité Moyenne"

Je pense que ce code peut etre synthétisé mais j'avoue, on est vendredi et j'ai un peu la fleme...
En tout cas voila l'idée générale
S.L.B.
<hr />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
5 sept. 2008 à 11:35
Salut jmfmarques, pas mal non plus ta petite idée mais ici je continue sur l'idée de lillith et puis je vais coder un ptit truc avec la tienne...

Je vous remercie tous les deux
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
5 sept. 2008 à 12:52
Voilà, j'ai enfin réussi mon petit projet, c'est clair on peut encore améliorer mais c'est déjà pas mal comme cela ! Je pense que c'est une bonne base.

je vous remercie tous les deux mais le code de jmfmarques m'a plus parlé !

Voici la solution que j'utilise :

Private Sub bou_tester_mot_de_passe_Click()

'Déclarations de variables
Dim str_mot_passe As String 'Variable qui va reccueillir le mot de passe
Dim int_niveau As Integer      'Variable qui va reccueillir le niveau de sécurité
Dim int_i As Integer                 'Variable de boucle
 
'Affectation de la boîte de texte à la variable
str_mot_passe = txt_mot_de_passe.Text

'Initialisation de la variable
int_niveau = 0

'Test s'il y a des chiffres dans le mot de passe
If str_mot_passe Like "*#*" Then int_niveau = int_niveau + 1

'Test s'il y a des majuscules dans le mot de passe
If str_mot_passe Like "*[A-Z]*" Then int_niveau = int_niveau + 1

'Test s'il y a des minuscules dans le mot de passe
If str_mot_passe Like "*[a-z]*" Then int_niveau = int_niveau + 1

'Boucle qui tourne en fonction de la longueur du mot de passe
For int_i = 1 To Len(str_mot_passe)

    If Mid(str_mot_passe, int_i, 1) > 0 Then
     
        If int_niveau = 1 Then
       
            MsgBox "Attention la sécurité de votre mot de passe est faible !"
            Exit For
           
        ElseIf int_niveau = 2 Then
       
            MsgBox "Attention la sécurité de votre mot de passe est moyen !"
            Exit For
           
        ElseIf int_niveau = 3 Then
       
            MsgBox "Attention la sécurité de votre mot de passe est élevé !"
            Exit For
       
        End If
   
    End If

Next int_i
'Fin de boucle

End Sub

Si vous avez des remarques, je suis ouvert
0
J_il Messages postés 109 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 9 septembre 2008
5 sept. 2008 à 14:18
Re bonjour,

voilà j'ai fais un petit code que je viens de poster sur le site à l'adresse suivante : ICI

Je vous remercie encore de votre aide

Gilles
0
Rejoignez-nous