Tutoriels de Pythonia

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

Télécharger Apprendre-la-programmation-avec-python

Rejoignez notre communauté de professionnels et de passionnés, pour rester à la pointe des dernières actualités.

Générateur de mot de passe part2

Mis à jour le Jan. 18, 2023, 3:20 p.m.

Niveau: Expert

 

Nous voilà dans la suite de l'épisode précedent. Améliorons notre code en utilisant une petit fonction pour nous simplifier la vie.

import random
import string

def generate_password(length, memorable=False):
    if memorable:
        # input
        memorable_word = input("Entrez un mot ou une phrase facile à retenir: ")
        # on supprime les espaces
        memorable_word = memorable_word.replace(" ", "")
        # on remplace les "e" par des 3
        memorable_word = memorable_word.replace("e", "3")
        # on remplace pour les a par des @
        memorable_word = memorable_word.replace("a", "@")
        special_char = random.choice(string.punctuation)
        memorable_password = memorable_word + special_char
        while True:
            memorable_password = memorable_password + 
                                                                 random.choice(string.digits + string.ascii_letters)
            if (sum(1 for c in memorable_password if c.isupper()) >= 2) and len(memorable_password) >= length :
                break 
        return memorable_password
    else:
        password = ''.join(random.choice(string.ascii_letters + string.digits 
                                                   + string.punctuation) for i in range(length))
        return password

password_length = int(input("Entrez la longueur souhaitée pour votre mot de passe: "))
memorable = input("Voulez-vous un mot de passe mémorable? (oui/non) ")

if memorable.lower() == "oui":
    memorable = True
else:
    memorable = False

print("Votre mot de passe : ",generate_password(password_length, memorable))

 

Résultat:

 

 

La fonction generate_password() prend en entrée la longueur souhaitée pour le mot de passe et un booléen memorable qui indique si l'utilisateur souhaite utiliser un mot ou une phrase mémorable pour créer son mot de passe.

 

Si l'utilisateur souhaite utiliser un mot ou une phrase mémorable, la fonction demande à l'utilisateur de saisir un mot ou une phrase mémorable, puis remplace les lettres "e" par "3" et les lettres "a" par "@" pour rendre le mot de passe plus facile à retenir. Ensuite, elle ajoute un caractère spécial aléatoire à la fin de ce mot ou de cette phrase, des chiffres et des lettres jusqu'à ce que le mot de passe contienne au moins 2 majuscules et atteigne la longueur souhaitée.

 

 

 

Sinon, la fonction génère un mot de passe aléatoire en utilisant la fonction random.choice() pour sélectionner des caractères aléatoires parmi les lettres, les chiffres et les symboles de ponctuation, et en les concatenant pour créer le mot de passe final.

 




Générateur de mot de passe


Générateur de mot de passe part2

Vous êtes sur ce tutoriel

Commentaires

Aucun commentaire pour cet article.

Télécharger Apprendre-la-programmation-avec-python

Rejoignez notre communauté de professionnels et de passionnés, pour rester à la pointe des dernières actualités.

Laissez un commentaire