Partilhar via


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

por Christian Wenz

Baixar PDF

As senhas são necessárias em quase qualquer lugar, de modo que os usuários preguiçosos tendem a escolher senhas simples que são fáceis de quebrar. O controle PasswordStrength no ASP.NET AJAX Control Toolkit pode verificar o quão boa é uma senha.

Visão geral

As senhas são necessárias em quase qualquer lugar, de modo que os usuários preguiçosos tendem a escolher senhas simples que são fáceis de quebrar. O controle PasswordStrength no ASP.NET AJAX Control Toolkit pode verificar o quão boa é uma senha.

Passos

O controle PasswordStrength estende uma caixa de texto e verifica se a senha é boa o suficiente. Oferece uma grande variedade de opções através 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) exigidos na senha
  • PreferredPasswordLength comprimento mínimo da palavra-passe
  • 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 aparecem. Aqui está um exemplo completo, incluindo o ASP.NET controle de ScriptManager AJAX, o controle PasswordStrength e, claro, uma caixa de texto onde 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 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 é considerada inquebrável.

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