Feedback

VB - Passwortstärke ermitteln

Veröffentlicht von am 10/21/2013
(3 Bewertungen)
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
Abgelegt unter Password, Passwort, Stärke, String.

1 Kommentare zum Snippet

FormFollowsFunction schrieb am 3/7/2020:
Ernsthaft !?!
"Password_123" ist laut der Methode "Perfekt", "äakdmvkenwpdnfshdubwj" aber nur "Naja" !

Zum vergeichen, mit einem funktionierenem Algorithmus
https://checkdeinpasswort.de
 

Logge dich ein, um hier zu kommentieren!