Testando a força de uma senha (C#)
por Christian Wenz
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 senhaMinimumSymbolCharacters
número mínimo de caracteres de símbolo (não letras e dígitos) necessários na senhaPreferredPasswordLength
comprimento mínimo da senhaRequiresUpperAndLowerCaseCharacters
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)