测试密码强度 (C#)

作者:克里斯蒂安·温茨

下载 PDF

几乎在任何地方都需要密码,因此懒于思考的用户倾向于选择容易破解的简单密码。 ASP.NET AJAX 控件工具包中的 PasswordStrength 控件可以检查密码有多好。

概述

几乎在任何地方都需要密码,这导致懒惰的用户倾向于选择容易破解的简单密码。 ASP.NET AJAX 控件工具包中的 PasswordStrength 控件可以检查密码有多好。

步骤

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>

运行页面并键入:只有在输入小写字母、大写字母、数字和符号后,密码才被视为不可破。

现在密码(相当)安全(单击以查看全尺寸图像