Atelier pratique : générer un mot de passe sécurisé

Un atelier pour explorer le compromis entre des mots de passe très sécurisés et impossible à retenir et des mots de passe plus faciles à retenir tout en étant très raisonnablement sécurisés.

Objectif général

Écrire un code qui génère un ou plusieurs mots de passe aléatoires pour l’utilisateur. Selon la version choisie, on génèrera des mots de passe plus faciles à retenir.

Exemples de mots de passe :

  • complètement aléatoire : }[<40sjoi;9>@g++L!7]
  • avec des éléments prononçables pour aider la mémorisation : saR4chie7cou2uumai
  • suite de mots français qui n’ont rien à voir les uns avec les autres : cheval agrafe soleil perpendiculaire comment

Contraintes

  • langage libre
  • conseillé : utilisez des fonctions

Variantes et étapes

Si on se sent pas très à l’aise : le mot de passe aléatoire

Étapes

  • pour se lancer, commencer par afficher juste un caractère aléatoire
  • puis afficher un mot de passe complètement aléatoire de longueur fixe de votre choix
  • ensuite, plutôt qu’une longueur fixe, permettre à l’utilisatrice de spécifier la longueur en paramètre sur la ligne de commande

Notions abordées

  • appel de fonction (nombre ou caractère aléatoire)
  • boucle avec manipulation de tableau et chaine de caractères
  • lecture des arguments de la ligne de commande

Si on est un peu plus confiante : la suite de mots du dictionnaire

Étapes

  • à partir d’une liste de mots dans un fichier dictionnaire (un mot par ligne), générer une phrase de passe composée d’une suite de mots choisis aléatoirement dans ce dictionaire
  • le nombre de mots pourra être fourni en argument de la ligne de commande par l’utilisatrice
  • par la suite, on pourra afficher plusieurs phrases de passe (une par ligne) pour donner le choix à l’utilisatrice

Notions abordées

  • nombre aléatoire
  • lecture de fichier à une ligne spécifique
  • boucles et manipulation de chaines
  • argument de la ligne de commande

Si on se sent bien à l’aise : mot de passe aléatoire mais prononçable

Étapes

  • déterminer quelques règles simples de prononçabilité (?), comme par exemple alterner un son voyelle avec un son consonne
  • générer un mot de passe qui suive ces règles, tout en minuscules si cela est plus simple
  • ensuite, mettre aléatoirement quelques lettres en majuscules
  • permettre à l’utilisatrice de spécifier la taille du mot de passe sur la ligne de commande
  • afficher plusieurs mots de passe à l’écran pour permettre à l’utilisatrice de choisir

Notions abordées

  • réflexion sur la structure de données
  • tableaux et/ou dictionnaires (ou tables de hachage)
  • boucles, manipulation de chaînes de caractères
  • arguments de la ligne de commande