J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 9 septembre 2008
-
5 sept. 2008 à 10:10
J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDerniè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é !
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 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 />
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 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 />
Vous n’avez pas trouvé la réponse que vous recherchez ?
J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDerniè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