Testování síly hesla (C#)

Christian Wenz

Stáhnout PDF

Hesla jsou vyžadována téměř kdekoli, takže líní uživatelé mají tendenci volit jednoduchá hesla, která se snadno zlomí. Ovládací prvek PasswordStrength v ASP.NET AJAX Control Toolkit může zkontrolovat, jak dobré je heslo.

Přehled

Hesla jsou vyžadována téměř kdekoli, takže líní uživatelé mají tendenci volit jednoduchá hesla, která se snadno zlomí. Ovládací PasswordStrength prvek v ASP.NET AJAX Control Toolkit může zkontrolovat, jak dobré je heslo.

Postup

Ovládací PasswordStrength prvek rozšíří textové pole a zkontroluje, jestli je heslo v něm dostatečně dobré. Nabízí spoustu možností prostřednictvím atributů; tady jsou jenom některé z nich:

  • MinimumNumericCharacters minimální počet číselných znaků požadovaných v hesle
  • MinimumSymbolCharacters minimální počet znaků symbolu (nikoli písmen a číslic) požadovaných v hesle
  • PreferredPasswordLength minimální délka hesla
  • RequiresUpperAndLowerCaseCharacters jestli heslo musí používat velká i malá písmena

Poskytuje StrengthIndicatorType informace, jak prezentovat sílu hesla, jako text (hodnota "Text") nebo jako druh indikátoru průběhu (hodnota "BarIndicator"). V atributu DisplayPosition nakonfigurujete, kde se informace zobrazí. Tady je úplný příklad, včetně ovládacího prvku ASP.NET AJAX ScriptManager , PasswordStrength ovládacího prvku a samozřejmě textového pole, do kterého může uživatel zadat heslo. Pro účely ukázky je druhé pole formuláře běžným textovým polem, nikoli polem s heslem, takže během vývoje můžete vidět, co píšete.

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

Spusťte stránku a zadejte text pryč: Heslo se považuje za nerozlomitelné až po zadání malých písmen, velkých písmen, číslic a symbolů.

Teď je heslo (docela) dobré

Teď je heslo (celkem) v pořádku (kliknutím zobrazíte obrázek v plné velikosti).