Partager via


Test de la force d’un mot de passe (C#)

par Christian Wenz

Télécharger le PDF

Les mots de passe sont requis presque partout, de sorte que les utilisateurs paresseux ont tendance à choisir des mots de passe simples qui sont faciles à rompre. Le contrôle PasswordStrength du ASP.NET AJAX Control Toolkit peut case activée la qualité d’un mot de passe.

Vue d’ensemble

Les mots de passe sont requis presque partout, de sorte que les utilisateurs paresseux ont tendance à choisir des mots de passe simples qui sont faciles à rompre. Le PasswordStrength contrôle du ASP.NET AJAX Control Toolkit peut case activée la qualité d’un mot de passe.

Étapes

Le PasswordStrength contrôle étend une zone de texte et vérifie si le mot de passe qu’elle contient est suffisant. Il offre une multitude d’options par le biais d’attributs ; voici quelques-uns d’entre eux :

  • MinimumNumericCharacters nombre minimal de caractères numériques requis dans le mot de passe
  • MinimumSymbolCharacters nombre minimal de caractères de symbole (et non de lettres et de chiffres) requis dans le mot de passe
  • PreferredPasswordLength longueur minimale du mot de passe
  • RequiresUpperAndLowerCaseCharacters si le mot de passe doit utiliser des caractères majuscules et minuscules

Fournit StrengthIndicatorType des informations sur la façon de présenter la force du mot de passe, sous forme de texte (valeur "Text") ou sous forme de type de barre de progression (valeur "BarIndicator"). Dans l’attribut DisplayPosition , vous configurez l’emplacement où les informations s’affichent. Voici un exemple complet, y compris le contrôle ASP.NET AJAX ScriptManager , le PasswordStrength contrôle et bien sûr une zone de texte dans laquelle l’utilisateur peut entrer un mot de passe. À des fins de démonstration, ce dernier champ de formulaire est un champ de texte normal et non un champ de mot de passe afin que vous puissiez voir pendant le développement ce que vous tapez.

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

Exécutez la page et tapez : seulement après avoir entré des lettres minuscules, majuscules, chiffres et symboles, le mot de passe est considéré comme incassable.

Maintenant, le mot de passe est (assez) bon

Maintenant, le mot de passe est (assez) bon (cliquer pour afficher l’image en taille réelle)