Tester la complexité d'un mot de passe

Christian Wenz (Traduction par Rémy Mainil)

Les mots de passe sont nécessaires quasiment partout et les utilisateurs fainéants tendent à choisir des mots de passe simples qui sont faciles à casser. Le contrôle PasswordStrength du ASP.NET AJAX Control Toolkit peut vérifier la complexité d'un mot de passe. ♪

- Titre : Tester la complexité d'un mot de passe

- Auteur : Christian Wenz (Traduction par Rémy Mainil)

- Parution : 18 avril 2013

- Licence : Copyright ® 2009 Equipe Dotnet. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Traduction

- Présentation

- Étapes

Traduction

Cet article est la traduction la plus fidèle possible de l'article original : Testing the Strength of a Password.

Présentation

Les mots de passe sont nécessaires quasiment partout et les utilisateurs fainéants tendent à choisir des mots de passe simples qui sont faciles à casser. Le contrôle PasswordStrength du ASP.NET AJAX Control Toolkit peut vérifier la complexité d'un mot de passe.

Étapes

Le contrôle PasswordStrength améliore une textbox et vérifie si le mot de passe qu'elle contient est « assez bon ». Il offre une pléiade d'options via des attributs; en voici quelques-uns :

- MinimumNumericCharacters : Nombre minimum de caractères requis dans le mot de passe ;

- MinimumSymbolCharacters : Nombre minimum de symboles (ni lettres ni chiffres) requis dans le mot de passe ;

- PreferredPAsswordLength : Longueur minimale du mot de passe ;

- RequiresUpperAndLowerCaseCharacters : Détermine si le mot de passe doit contenir des minuscules et des majuscules.

L'attribut StrengthIndicatorType définit la façon de présenter la complexité du mot de passe, comme texte (valeur « Text ») ou comme une sorte de barre de progression (valeur « BarIndicator »). L'attribut DisplayPosition permet de configurer où l'information apparaît. Voici un exemple complet, comprenant le contrôle ScriptManager, le contrôle PasswordStrength et, évidemment, une textbox où l'utilisateur peut saisir un mot de passe. Pour les besoins de l'exemple, le dernier champ du formulaire est un champ de saisie classique et nom un champ de type password de façon à ce que vous puissiez voir ce que vous tapez pendant le développement.

<!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 saisissez un mot de passe. Ce n'est qu'une fois que vous aurez saisi des minuscules, des majuscules, des chiffres et des symboles que le mot de passe sera côté comme « incassable ».

Maintenant le mot de passe est (assez) bon.