Verificar força da password

gregurs

Membro
Boa noite estou a fazer um trabalho em C# que tem sistema de login e tem de
verificar a força da password o problema é que não me verifica se a pass tem letras ou numeros ou outros caracteres
O código que estou a utilizar é este:

public
enum PasswordScore
{
Weak =7,
Medium =10,
Strong =15,
}

publicstatic PasswordScore CheckStrength(string password)
{
/*
if(password.Length>16)
Console.WriteLine("Ultrapassou o limite");

if(password.Length<7)
return PasswordScore.Weak;
elseif(password.Length<10)
return PasswordScore.Medium;
elseif(password.Length<15)
return PasswordScore.Strong;

if(password.Length>=8)
score++;
if(password.Length>=11)
score++;
*/

if
(password.Length>=16)
MessageBox.Show("Ultrapassou");

elseif(Regex.IsMatch(password, @".[a-z]\d+[!,@,#,$,%,^,&,*,?,_,~,-,£,(,)]/", RegexOptions.ECMAScript))
return PasswordScore.Strong;

elseif(Regex.IsMatch(password, @"/[a-z]\d+/", RegexOptions.ECMAScript))
return PasswordScore.Medium;

elseif(Regex.IsMatch(password, @"/[a-z]/", RegexOptions.ECMAScript))
return PasswordScore.Weak;
}

privatevoid npassTB_TextChanged(object sender, EventArgs e)
{
PasswordScore score = CheckStrength(npassTB.Text);
Int32 i =(Int32)score;

if(i <=7)

lblpassword.ForeColor= Color.Yellow;
elseif(i <=10)
lblpassword.ForeColor= Color.Green;
else//if (i == 15)
lblpassword.ForeColor= Color.Red;
lblpassword.Text= score.ToString();
}
 
Última edição:
Back
Topo