Le but de ce projet est de créer un assistant qui analyse la robustesse d'un mot de passe.
Cahier des charges
Votre programme demande d'abord à l'utilisateur de saisir un mot de passe. Si le mot de passe ne suit pas les règles, le programme indique pourquoi à l'utilisateur et l'invite à en saisir un nouveau. Un mot de passe ne suit pas les règles dans les cas suivants :
- il est trop court (4 caractères ou moins) ;
- il est trop long (plus de 20 caractères) ;
- il ne contient pas de majuscule ;
- il ne contient pas de minuscule ;
- il ne contient pas de chiffres.
Si le mot de passe suit les règles, le programme affiche un message indiquant que le mot de passe est valide et demande à l'utilisateur de l'entrer à nouveau. Si les deux mots de passe sont identiques, le programme affiche un message de confirmation. Sinon, le programme recommence depuis le début.
Exemple d'exécution
Voici un exemple d'exécution de votre programme (le texte affiché par le programme est en bleu, tandis que le texte entré par l'utilisateur est en noir) :
Saisissez votre mot de passe : Top NSI Ce mot de passe n'est pas sécurisé : il ne contient pas de chiffres. Saisissez votre mot de passe : T0p NS1 Ce mot de passe est sécurisé. Saisissez à nouveau votre mot de passe : Tob NS1 Erreur : les mots de passe ne sont pas identiques. Merci de recommencer. Saisissez votre mot de passe : t0p ns1 Ce mot de passe n'est pas sécurisé : il ne contient pas de majuscule. Saisissez votre mot de passe : T0p NS1 Ce mot de passe est sécurisé. Saisissez à nouveau votre mot de passe : T0p NS1 Le mot de passe est correct !
Pour aller plus loin (palier 4)
Une fois que vous avez atteint le palier 3 des fonctionnalités, voici quelques idées pour aller plus loin et atteindre le palier 4 :
- Demander d'insérer un ou plusieurs caractères spéciaux.
- Demander plusieurs mots de passe à l'utilisateur en associant à chaque fois un nom de site (par exemple, "Facebook", "Twitter", "Instagram", etc.). Le programme interdit alors à l'utilisateur d'entrer deux fois le même mot de passe pour des services différents. Il lui propose aussi, au lieu de saisir un mot de passe, d'afficher un mot de passe déjà enregistré pour un service donné.