65.9K
CodeProject is changing. Read more.
Home

Validate password strength on the server side

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (1 vote)

Jan 9, 2010

CPOL
viewsIcon

10780

This code will validate a password on the server side. ;) Imports System.Text.RegularExpressionsPublic Class PasswordAdvisor Enum PasswordScore Blank = 0 VeryWeak = 1 Weak = 2 Medium = 3 Strong = 4 VeryStrong = 5 End Enum ...

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