次の方法で共有


パスワードの強度をテストする (C#)

作成者: Christian Wenz

PDF のダウンロード

ほとんどあらゆる場所でパスワードを求められるため、面倒くさがりのユーザーは簡単に見破られる単純なパスワードを選択する傾向があります。 ASP.NET AJAX Control Toolkit の PasswordStrength コントロールを使用すると、パスワードの適切性をチェックできます。

概要

ほとんどあらゆる場所でパスワードを求められるため、面倒くさがりのユーザーは簡単に見破られる単純なパスワードを選択する傾向があります。 ASP.NET AJAX Control Toolkit の 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>

ページを実行し、入力していきます。小文字、大文字、数字、記号を入力した後でのみ、パスワードは解読不可能と見なされます。

これでパスワードは (かなり) 良くなりました

これでパスワードは (かなり) 適切になりました (クリックするとフルサイズの画像が表示されます)