Probar la seguridad de una contraseña (C#)

por Christian Wenz

Descargar PDF

Las contraseñas son necesarias casi en cualquier lugar, de modo que los usuarios perezosos tienden a elegir contraseñas sencillas que son fáciles de averiguar. El control PasswordStrength del ASP.NET AJAX Control Toolkit puede comprobar lo correcto que es una contraseña.

Información general

Las contraseñas son necesarias casi en cualquier lugar, de modo que los usuarios perezosos tienden a elegir contraseñas sencillas que son fáciles de averiguar. El ASP.NET AJAX Control Toolkit PasswordStrength puede comprobar lo correcto que es una contraseña.

Pasos

El control PasswordStrength extiende un cuadro de texto y comprueba si la contraseña en este es lo suficientemente buena. Ofrece una gran cantidad de opciones a través de atributos, estos son solo algunos de ellos:

  • Número mínimo de caracteres numéricos necesarios en la contraseña: MinimumNumericCharacters
  • Número mínimo de símbolos (sin letras ni dígitos) necesarios en la contraseña: MinimumSymbolCharacters
  • PreferredPasswordLength longitud mínima de la contraseña
  • Si la contraseña debe usar caracteres en mayúsculas y minúsculas: RequiresUpperAndLowerCaseCharacters

StrengthIndicatorType proporciona la información sobre cómo presentar la seguridad de la contraseña, como texto (valor "Text") o como un tipo de barra de progreso (valor "BarIndicator"). En el atributo DisplayPosition configurará dónde aparece la información. Este es un ejemplo completo, incluido el control AJAX ASP.NET ScriptManager, el control PasswordStrength y, por supuesto, un cuadro de texto donde el usuario puede introducir una contraseña. Por motivos de demostración, el último campo de formulario es un campo de texto normal y no uno de contraseña para que pueda ver durante el desarrollo lo que está escribiendo.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title>Control Toolkit</title>
</head>
<body>
 <form id="form1" runat="server">
 <asp:ScriptManager ID="asm" runat="server" />
 <div>
 <asp:TextBox ID="Password" runat="server" />
 <ajaxToolkit:PasswordStrength ID="ps1" runat="server" 
 TargetControlID="Password" RequiresUpperAndLowerCaseCharacters="true" 
 MinimumNumericCharacters="1" MinimumSymbolCharacters="1" 
 PreferredPasswordLength="8" DisplayPosition="RightSide" 
 StrengthIndicatorType="Text" />
 </div>
 </form>
</body>
</html>

Ejecute la página y teclee: solo después de escribir letras minúsculas, mayúsculas, dígitos y símbolos, la contraseña se considera inquebrantable.

Now the password is (quite) good

Ahora la contraseña es (bastante) buena (Haga clic para ver la imagen a tamaño completo)