This code will validate a password on the server side. ;)
Imports System.Text.RegularExpressions
Public Class PasswordAdvisor
Enum PasswordScore
Blank = 0
VeryWeak = 1
Weak = 2
Medium = 3
Strong = 4
VeryStrong = 5
End Enum
Public Shared Function CheckStrength(ByVal password As String) As PasswordScore
Dim score As Int32 = 1
If password.Length < 1 Then
Return PasswordScore.Blank
End If
If password.Length < 4 Then
Return PasswordScore.VeryWeak
End If
If password.Length >= 6 Then
score = score + 1
End If
If password.Length >= 12 Then
score = score + 1
End If
If Regex.IsMatch(password, "/\d+/", RegexOptions.ECMAScript) Then
score = score + 1
End If
If Regex.IsMatch(password, "/[a-z]/", RegexOptions.ECMAScript AndAlso Regex.IsMatch(password, "/[A-Z]/", RegexOptions.ECMAScript)) Then
score = score + 1
End If
If Regex.IsMatch(password, "/.[!,@,#,$,%,^,&,*,?,_,~,-,£,(,)]/", RegexOptions.ECMAScript) Then
score = score + 1
End If
Return CType(score, PasswordScore)
End Function
End Class