Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
______________ Projet: Coder un générateur de mots de passe développé en Java et exécuté directement depuis le terminal. L’utilisateur saisit la longueur souhaitée du mot de passe, puis le programme génère automatiquement un mot de passe composé de différents types de caractères : lettres majuscules, lettres minuscules, chiffres et caractères spéciaux. ______________ Arborescence du projet: password_generator/ |___ PasswordGen.java |___ README.txt ______________ Concepts de sécurité: 1 - Longueur minimale de 8 caractères: la longueur augmente l'espace de recherche nécessaire pour deviner le mot de passe; 2 - Majuscules, minuscules, chiffres et caractères spéciaux: diversification/complexification des caractères, qui augmente l'espace de recherche; 3 - Génération aléatoire des caractères: éviter de choisir des mots de passe facilement prévisibles; 4 - Mélange de l'ordre des caractères: concept de randomisation, qui évite d'avoir une structure prévisible. ______________ Bibliothèques et classes utilisées: ____ Deux classes de la bibliothèque standard Java ____ - java.util.Random : permet de générer des caractères de manière aléatoire; - java.util.Scanner : permet de récupérer la longueur du mot de passe saisie par l'utilisateur au clavier. ____ Classe Java ____ - StringBuilder : permet de construire et de modifier efficacement une chaîne de caractères. ______________ Fonctionnement du programme: 1) Saisie de la longueur: - l'utilisateur indique la longueur souhaitée du mot de passe; - si elle est inférieure à 8 caractères, le programme affiche un message d'erreur. 2) Définition des caractères à utiliser: . majuscules : ABCDEFGHIJKLMNOPQRSTUVWXYZ . minuscules : abcdefghijklmnopqrstuvwxyz . caractères spéciaux: !@#%^%&*()_ . chiffres : 0123456789 3) Génération du mot de passe: - la méthode password_generator() génère le mot de passe; - elle ajoute génère d’abord 2 caractères pour chaque catégorie, puis complète aléatoirement le mot de passe jusqu'à atteindre la longueur demandée. 4) Génération aléatoire des caractères: - la méthode generateCharacter() choisit aléatoirement un caractère dans une catégorie donnée grâce à Random. 5) Mélange du mot de passe: - le programme crée un StringBuilder contenant le mot de passe; - une boucle échange certains caractères afin de modifier leur ordre.