VB.NET: Tester un mot de passe
Résolu
Anonyme209
Messages postés
681
Date d'inscription
Statut
Membre
Dernière intervention
-
Anonyme209 Messages postés 681 Date d'inscription Statut Membre Dernière intervention -
Anonyme209 Messages postés 681 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
lors de la première ouverture du programme, l'utilisateur doit rentrer un mot de passe qui sera plus tard requis pour ré-ouvrir le programme.
Je voudrais tester ce mot de passe pour voir s'il il a les conditions suivantes:
-Il est compris entre 8 et 500 caractères.
-Il contient au moins une minuscule
-Il contient au moins une majuscule
-Il contient au moins un chiffre
(Il peut contenir n'importe quel autre caractère)
J'ai trouvé ce code:
Mais, comme
J'ai essayé en remplaçant
lors de la première ouverture du programme, l'utilisateur doit rentrer un mot de passe qui sera plus tard requis pour ré-ouvrir le programme.
Je voudrais tester ce mot de passe pour voir s'il il a les conditions suivantes:
-Il est compris entre 8 et 500 caractères.
-Il contient au moins une minuscule
-Il contient au moins une majuscule
-Il contient au moins un chiffre
(Il peut contenir n'importe quel autre caractère)
J'ai trouvé ce code:
Dim maregex As New System.Text.RegularExpressions.Regex("^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)([\w]{8,500})$") If maregex.IsMatch(TextBox1.Text) Then 'mot de passe valide Else 'mot de passe invalide End If
Mais, comme
[\w]l'indique, le mot de passe n'est plus valide s'il y a un autre caractère que les caractères alphanumériques.
J'ai essayé en remplaçant
([\w]{8,500})par
{8,500}, mais le mot de passe n'est maintenant jamais validé.
A voir également:
- VB.NET: Tester un mot de passe
- Vb.net express - Télécharger - Langages
- Vb.net - Télécharger - Langages
- Convert | VB.net ✓ - Forum Framework .NET
- Vb.net editor - Télécharger - Langages
- Listview vb.net ✓ - Forum Framework .NET
2 réponses
Bonjour,
Voici une function paramétrable :
Nombre minimum et maximum de caractères du password
Nombre de minuscules et majuscules
Nombre de chiffres
Nombre de caractères spéciaux
Voici une function paramétrable :
Nombre minimum et maximum de caractères du password
Nombre de minuscules et majuscules
Nombre de chiffres
Nombre de caractères spéciaux
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click MsgBox("Votre mot de passe " & TextBox1.Text & " est: " & ValidatePassword(TextBox1.Text)) End Sub Function ValidatePassword(ByVal pwd As String, Optional ByVal minLength As Integer = 8, Optional ByVal maxLength As Integer = 500, Optional ByVal numUpper As Integer = 2, Optional ByVal numLower As Integer = 2, Optional ByVal numNumbers As Integer = 2, Optional ByVal numSpecial As Integer = 2) As Boolean 'a modifier suivant les besoins ci-dessus ' Replace [A-Z] with \p{Lu}, to allow for Unicode uppercase letters. Dim upper As New System.Text.RegularExpressions.Regex("[A-Z]") Dim lower As New System.Text.RegularExpressions.Regex("[a-z]") Dim number As New System.Text.RegularExpressions.Regex("[0-9]") ' Special is "none of the above". Dim special As New System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]") ' Check the length. If Len(pwd) < minLength Then Return False If Len(pwd) > maxLength Then Return False ' Check for minimum number of occurrences. If upper.Matches(pwd).Count < numUpper Then Return False If lower.Matches(pwd).Count < numLower Then Return False If number.Matches(pwd).Count < numNumbers Then Return False If special.Matches(pwd).Count < numSpecial Then Return False ' Passed all checks. Return True End Function