Diese Funktion ermittelt auf die Stärke eines Passwortes.
Die Rückgabewerte
-1 - Kein Passwort angegeben
0 - Lass das Passwort doch gleich weg
1 - Schlecht
2 - Naja
3 - Gut
4 - Perfekt
''' <summary>
''' Berechnet die Passwortstärke in einem Bereich von 0 bis 4.
''' </summary>
''' <param name="password">Das zu prüfende Passwort.</param>
''' <returns>Die Stärke von <paramref name="password"/>.</returns>
Public Function PasswordStrength(password As String) As Integer
If String.IsNullOrEmpty(password) Then
Return -1'Kein Passwort
End If
'Enthalten?'
Dim foundLowerCase As Boolean = False
Dim foundUpperCase As Boolean = False
Dim foundDigits As Boolean = False
Dim foundOther As Boolean = False
For Each c As Char In password 'Alle Zeihen durchgehen und auf Sonderzeichen etc. abprüfen'
Select Case c
Case "a"c To "z"c 'Kleinbuchstaben'
foundLowerCase = True
Case "A"c To "Z"c 'Großbuchstaben'
foundUpperCase = True
Case "0"c To "9"c 'Zahlen'
foundDigits = True
Case Else 'Sonstige'
foundOther = True
End Select
Next
Dim level As Integer = 0 'Um so höher desto sicherer'
If foundLowerCase Then
level += 1
End If
If foundUpperCase Then
level += 1
End If
If foundDigits Then
level += 1
End If
If foundOther Then
level += 1
End If
If TextBox1.Text.Length > 8 Then 'Länge abprüfen'
level += 1
End If
Return level - 1
End Function
1 Kommentare zum Snippet