Partilhar via


Teste da força de uma senha (C#)

por Christian Wenz

Baixar 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 ASP.NET AJAX pode marcar 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 PasswordStrength controle no kit de ferramentas de controle AJAX ASP.NET pode marcar o quão boa é uma senha.

Etapas

O PasswordStrength controle estende uma caixa de texto e verifica se a senha nela é boa o suficiente. Ele oferece uma riqueza 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"). DisplayPosition No atributo , você configura onde as informações são exibidas. Aqui está um exemplo completo, incluindo o controle AJAX ScriptManager ASP.NET, o PasswordStrength controle 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 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

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