测试密码强度 (C#)

作者 :Christian Wenz

下载 PDF

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

概述

几乎在任何位置都需要密码,因此,懒惰用户倾向于选择容易破解的简单密码。 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>

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

现在密码 (相当) 好

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