Tester sécurité mot de passe [Résolu]

J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 5 sept. 2008 à 10:10 - Dernière réponse : J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 5 sept. 2008 à 11:03
3
Merci
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

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de jmfmarques
lillith212 1231 Messages postés vendredi 16 novembre 2007Date d'inscription 16 juin 2009 Dernière intervention - 5 sept. 2008 à 10:21
0
Merci
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 />
Commenter la réponse de lillith212
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 5 sept. 2008 à 10:25
0
Merci
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
Commenter la réponse de J_il
lillith212 1231 Messages postés vendredi 16 novembre 2007Date d'inscription 16 juin 2009 Dernière intervention - 5 sept. 2008 à 10:37
0
Merci
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 />
Commenter la réponse de lillith212
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 5 sept. 2008 à 11:35
0
Merci
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
Commenter la réponse de J_il
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 5 sept. 2008 à 12:52
0
Merci
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
Commenter la réponse de J_il
J_il 110 Messages postés mardi 27 mars 2007Date d'inscription 9 septembre 2008 Dernière intervention - 5 sept. 2008 à 14:18
0
Merci
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
Commenter la réponse de J_il

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.