Compartilhar via


Testando a força de uma senha (C#)

por Christian Wenz

Baixar o PDF

As senhas são necessárias em praticamente qualquer lugar, de modo que os usuários lentos tendem a escolher senhas simples que são fáceis de quebrar. O controle PasswordStrength no kit de ferramentas de controle do ASP.NET AJAX pode verificar o quão boa é uma senha.

Visão geral

As senhas são necessárias em praticamente qualquer lugar, de modo que os usuários lentos tendem a escolher senhas simples que são fáceis de quebrar. O controle PasswordStrength no kit de ferramentas de controle AJAX do ASP.NET pode verificar o quão boa é uma senha.

Passos

O controle PasswordStrength estende uma caixa de texto e verifica se a senha nela é boa o suficiente. Ele oferece uma variedade de opções por meio de atributos; aqui estão apenas alguns deles:

  • MinimumNumericCharacters número mínimo de caracteres numéricos necessários na senha
  • MinimumSymbolCharacters número mínimo de caracteres de símbolo (não letras e dígitos) necessários na senha
  • PreferredPasswordLength comprimento mínimo da senha
  • RequiresUpperAndLowerCaseCharacters se a senha precisa usar caracteres maiúsculos e minúsculos

O StrengthIndicatorType fornece as informações de como apresentar a força da senha, como texto (valor "Text") ou como uma espécie de barra de progresso (valor "BarIndicator"). No atributo DisplayPosition, você configura onde as informações são exibidas. Aqui está um exemplo completo, incluindo o controle ScriptManager ASP.NET AJAX, o controle PasswordStrength e, claro, uma caixa de texto em que o usuário pode inserir uma senha. Para fins de demonstração, o último campo de formulário é um campo de texto regular e não um campo de senha para que você possa ver durante o desenvolvimento o que você está digitando.

<!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>

Execute a página e digite: somente depois de inserir letras minúsculas, letras maiúsculas, dígitos e símbolos, a senha será considerada inquebrável.

Agora a senha é (bastante) boa (Clique para exibir a imagem em tamanho real)