Aller au contenu

Yassine

Membre
  • Compteur de contenus

    2
  • Inscription

  • Dernière visite

Information de profil

  • Sexe:
    Homme

Le palmarès de Yassine !

Nouveau

Nouveau (1/8)

0

Réputation sur la communauté

  1. Bonsoir, Je me suis amusé à faire un générateur de mot de passe similaire à celui que tu proposes, sans le booléen qui permet de désactiver les caractères spéciaux. L'algorithme de nos deux codes restent néanmoins très peu performant pour générer des mots de passe de qualité: on aurait pu implémenter un système qui permet, par exemple, de ne pas avoir x caractère du même type à la suite (car notre générateur est essentiellement basé sur le randint basé sur la chance, ce qui ne devrait pas être le cas). from random import randint from sys import argv class Password(): """Classe qui permet la création d'un mot de passe aléatoire""" def __init__(self): self.password = "" self.cpt = 0 def Generate(self,length): """Génère un mot de passe aléatoire de taille length""" while self.cpt != length: #Séléctionne le caractère à insérer. selectChar = randint(1,4) #Ajout minuscule si 1. if selectChar == 1: lowerChar = randint(97,122) self.password += chr(lowerChar) #Ajout majuscule si 2. elif selectChar == 2: upperChar = randint(65,90) self.password += chr(upperChar) #Ajout chiffre si 3. elif selectChar == 3: digitChar = randint(48,57) self.password += chr(digitChar) #Ajout spécial si 4. else: specialChar = randint(33,47) self.password += chr(specialChar) #Incrémente le compteur jusqu'à ce que la longueur soit atteinte. self.cpt += 1 return self.password #Ajoute le mot de passe généré dans un fichier texte, ferme le programme si l'utilisateur n'enconde pas un int. password = Password() if isinstance(int(argv[1]),int): with open("mdp.txt", "w", encoding="utf-8") as f: f.write(password.Generate(int(argv[1]))) else: print("Erreur: le programme ne reconnaît aucun chiffre, le programme va fermer" Bonne soirée.
×
×
  • Créer...