Diese Funktion berechnet die Stärke eines Passworts und gibt die Anzahl der möglichen Kombinationen zurück
''' <summary>
''' Diese Funktion berechnet die Stärke eines Passworts und gibt die Anzahl der möglichen Kombinationen zurück
''' </summary>
''' <param name="Password">Das zu prüfende Passwort</param>
''' <remarks>Für SpecialChar nehme ich einfach mal den Wert 32 weil das ein gängiger Wert für Sonderzeichen ist</remarks>
Public Function PasswordStrength(ByVal Password As String) As Double
Try
If Password.Length = 0 Then Return 0
Dim ToByte() As Byte = System.Text.Encoding.Default.GetBytes(Password)
Dim UpperCaseAlpha As Double = 0
Dim LowerCaseAlpha As Double = 0
Dim Numeric As Double = 0
Dim SpecialChar As Double = 0
For i As Integer = 0 To ToByte.Length - 1
If ToByte(i) >= 65 And ToByte(i) <= 90 Then UpperCaseAlpha = 26
If ToByte(i) >= 97 And ToByte(i) <= 122 Then LowerCaseAlpha = 26
If ToByte(i) >= 48 And ToByte(i) <= 57 Then Numeric = 10
If Not (ToByte(i) >= 65 And ToByte(i) <= 90) And Not (ToByte(i) >= 97 And ToByte(i) <= 122) And Not (ToByte(i) >= 48 And ToByte(i) <= 57) Then SpecialChar = 32
Next
Return Math.Pow(UpperCaseAlpha + LowerCaseAlpha + Numeric + SpecialChar, ToByte.Length)
Catch ex As Exception
Return -1
End Try
End Function
4 Kommentare zum Snippet