Тестирование надежности пароля (C#)

Кристиан Венц

Загрузить PDF-файл

Пароли требуются практически в любом месте, поэтому ленивые пользователи, как правило, выбирают простые пароли, которые легко сломать. Элемент управления PasswordStrength в наборе элементов управления ASP.NET AJAX может проверка, насколько хорош пароль.

Общие сведения

Пароли требуются практически в любом месте, поэтому ленивые пользователи, как правило, выбирают простые пароли, которые легко сломать. Элемент PasswordStrength управления в наборе элементов управления ASP.NET AJAX может проверка, насколько хорош пароль.

Этапы

Элемент PasswordStrength управления расширяет текстовое поле и проверяет, достаточно ли подходит пароль в нем. Он предлагает множество вариантов через атрибуты; Вот лишь некоторые из них:

  • MinimumNumericCharacters минимальное число числовых символов, требуемое в пароле
  • MinimumSymbolCharacters минимальное количество символов (не букв и цифр) в пароле
  • PreferredPasswordLength минимальная длина пароля
  • RequiresUpperAndLowerCaseCharacters указывает, должен ли пароль использовать символы верхнего и нижнего регистра;

предоставляет StrengthIndicatorType сведения о том, как представить надежность пароля в виде текста (значение "Text") или в виде индикатора выполнения (значение "BarIndicator"). В атрибуте DisplayPosition вы настраиваете место отображения сведений. Ниже приведен полный пример, включая элемент управления ASP.NET AJAX ScriptManager , PasswordStrength элемент управления и, конечно, текстовое поле, в котором пользователь может ввести пароль. Для демонстрации последнее поле формы является обычным текстовым полем, а не полем пароля, чтобы во время разработки было видно, что вы вводите.

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

Запустите страницу и введите прочь: только после ввода строчных букв, прописных букв, цифр и символов пароль считается неразрывным.

Теперь пароль (довольно) хорошо

Теперь пароль (довольно) хороший (щелкните для просмотра полноразмерного изображения)