Tutoriels de Pythonia
Guides, IA, tutos et newsletter pour devenir une bête en programmation

Mis à jour le Jan. 18, 2023, 2:31 p.m.
L'objectif de ce tutoriel est de créer ungénérateur de mot de passe en utilisant python. Il contiendra des chiffres, des lettres majuscules et minuscules, ainsi que des symboles.
Avant de commencer, vous devez installer les bibliothèques "string" et "random" en utilisant les commandes suivantes dans votre terminal ou invite de commande:
Pour commencer, importons les librairies nécessaires:
# Importation des modules nécessaires
import string
import random
Le module string fournit des constantes pour différents types de caractères, tandis que le module random permet de générer des nombres aléatoires.
Créons les variables pour chaque type de caractères disponibles:
# Création des variables pour les caractères disponibles
lowercase = string.ascii_lowercase
uppercase = string.ascii_uppercase
numbers = string.digits
symbols = string.punctuation
Quatre variables sont créées : lowercase, uppercase, numbers, et symbols. Ces variables contiennent respectivement les caractères minuscules, les caractères majuscules, les chiffres et les symboles de ponctuation.
Bien. Maintenant il serait utile de demander à l'utilisateur la longueur du mot de passe qu'il souhaite obtenir
# Demande à l'utilisateur de saisir la longueur désirée pour le mot de passe
password_length = int(input("Saisissez la longueur souhaitée pour votre mot de passe: "))
Maintenant on créé une liste vide pour stocker les caratères:
# Création d'une liste qui regroupe tous les caractères disponibles
characters = []
characters.extend(list(lowercase))
characters.extend(list(uppercase))
characters.extend(list(numbers))
characters.extend(list(symbols))
Les caractères des différentes variables (lowercase, uppercase, numbers et symbols) sont ajoutés à la liste à l'aide de la méthode extend(). Cela permet de regrouper tous les caractères disponibles dans une seule liste.
Il ne nous reste plus qu'à générer le code et à le stocker dans une variable:
generated_password = "".join(random.sample(characters, password_length))
La fonction random.sample() est utilisée pour sélectionner aléatoirement des caractères de la liste "characters", en fonction de la longueur souhaitée du mot de passe (password_length). Cette fonction renvoie une liste de caractères aléatoires sans les répéter. Les caractères sélectionnés sont regroupés en une seule chaîne de caractères à l'aide de la méthode "".join(). Cela crée le mot de passe final, qui est stocké dans la variable generated_password.
Le code complet donne:
# Importation des modules nécessaires
import string
import random
# Création des variables pour les caractères disponibles
lowercase = string.ascii_lowercase
uppercase = string.ascii_uppercase
numbers = string.digits
symbols = string.punctuation
# Demande à l'utilisateur de saisir la longueur désirée pour le mot de passe
password_length = int(input("Saisissez la longueur souhaitée pour votre mot de >
# Création d'une liste qui regroupe tous les caractères disponibles
characters = []
characters.extend(list(lowercase))
characters.extend(list(uppercase))
characters.extend(list(numbers))
characters.extend(list(symbols))
# génération du mot de passe
generated_password = "".join(random.sample(characters, password_length))
# Affichage du mot de passe généré pour l'utilisateur
print("Votre mot de passe : ", generated_password)
Résultat:
Mais notre mot de passe généré n'est pas oufissime n'est-ce pas? Pas très très simple de se rappeler de ce truc là.
Améliorons notre mot de passe dans le prochain tutoriel pour pouvoir créer un MDP sécure ET dont on peut se rappeler :)
Aucun commentaire pour cet article.