PasswordStrength Demonstration
Simple Complexity, Text Indicator



Average Complexity, Bar Indicator



High Complexity, Text Indicator, Help Indicator

PasswordStrength Description

PasswordStrength is an ASP.NET AJAX extender that can be attached to an ASP.NET TextBox control used for the entry of passwords. The PasswordStrength extender shows the strength of the password in the TextBox and updates itself as the user types the password. The indicator can display the strength of the password as a text message or with a progress bar indicator. The styling and position of both types of indicators is configurable. The required strength of the password is also configurable, allowing the page author to tailor the password strength requirements to their needs. The text messages that describe the current strength of the password can also be configured and their default values have localization support built-in. The second and third extenders' strings are being pulled from Toolkit resources files. We do not have strings for all languages currently so they may show non-localized values for some languages. A help indicator can be used to provide explicit instructions about what changes are required to achieve a strong password. The indicator is displayed when the user begins typing into the TextBox and is hidden from view once the TextBox loses focus.

PasswordStrength Properties

The control above is initialized with this code. The italic properties are optional:

<ajaxToolkit:PasswordStrength ID="PS" runat="server"
    TargetControlID="TextBox1"
    DisplayPosition="RightSide"
    StrengthIndicatorType="Text"
    PreferredPasswordLength="10"
    PrefixText="Strength:"
    TextCssClass="TextIndicator_TextBox1"
    MinimumNumericCharacters="0"
    MinimumSymbolCharacters="0"
    RequiresUpperAndLowerCaseCharacters="false"
    TextStrengthDescriptions="Very Poor;Weak;Average;Strong;Excellent"
    TextStrengthDescriptionStyles="cssClass1;cssClass2;cssClass3;cssClass4;cssClass5
    CalculationWeightings="50;15;15;20" />
  • TargetControlID - ID of the TextBox to attach to
  • DisplayPosition - Positioning of the strength indicator relative to the target control
  • StrengthIndicatorType - Strength indicator type (Text or BarIndicator)
  • PreferredPasswordLength - Preferred length of the password
  • PrefixText - Text prefixed to the display text when StrengthIndicatorType=Text
  • TextCssClass - CSS class applied to the text display when StrengthIndicatorType=Text
  • MinimumNumericCharacters - Minimum number of numeric characters
  • MinimumSymbolCharacters - Minimum number of symbol characters (ex: $ ^ *)
  • RequiresUpperAndLowerCaseCharacters - Specifies whether mixed case characters are required
  • TextStrengthDescriptions - List of semi-colon separated descriptions used when StrengthIndicatorType=Text (Minimum of 2, maximum of 10; order is weakest to strongest)
  • TextStrengthDescriptionStyles - List of CSS class names separated by a semi-colon that are applied to each Textual Strength description. The number of these items, must exactly match the number of text strength descriptions. If this property is not present, then the style defined in the TextCssClass property is used.
  • CalculationWeightings - List of semi-colon separated numeric values used to determine the weighting of a strength characteristic. There must be 4 values specified which must total 100. The default weighting values are defined as 50;15;15;20. This corresponds to password length is 50% of the strength calculation, Numeric criteria is 15% of strength calculation, casing criteria is 15% of calculation, and symbol criteria is 20% of calculation. So the format is 'A;B;C;D' where A = length weighting, B = numeric weighting, C = casing weighting, D = symbol weighting.
  • BarBorderCssClass - CSS class applied to the bar indicator's border when StrengthIndicatorType=BarIndicator
  • BarIndicatorCssClass - CSS class applied to the bar indicator's inner bar when StrengthIndicatorType=BarIndicator
  • HelpStatusLabelID - Control ID of the label used to display help text
  • HelpHandleCssClass - CSS class applied to the help element used to display a dialog box describing the password requirements
  • HelpHandlePosition - Positioning of the help handle element relative to the target control
Copyright © 2006-2007 Microsoft Corporation. All Rights Reserved.