#Generateur de Mot De Passe #Lucas.Campistron et Sofiane.Latrech #29/01/2019 #Generer un mot de passe aleatoire selon les criteres de l'utilisateur #fonctions etablies #fonction principale finie import sys import random from random import randint from math import * def chiffre(): a=randint(0,9) return a """genere un chiffre aleatoire entre 1 et 9""" def lettre_min(): liste1=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] b=random.choice(liste1) return b """genere une lettre minuscule aleatoire""" def lettre_maj(): liste1=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] c=random.choice(liste1) return c """genere une lettre majuscule aleatoire""" def criteres(): longueur = int(input('Entrez le nombre de caracteres de votre MDP:')) chiffre = int(input('Voulez vous des chiffres ?(0:non, 1:oui)')) lettremin = int(input('Voulez vous des lettres minuscules ?(0:non, 1=oui)')) lettremmaj = int(input('Voulez vous des lettres majuscules ?(0:non, 1=oui)')) liste1 = [longueur,chiffre,lettremin,lettremmaj] #cette liste sert de references aux criteres if liste1[0]>12: print("le Mot De Passe ne peut pas depasser 12 caracteres") sys.exit() if liste1[0]<4: print("le Mot De Passe ne peut pas etre plus petit que 4 caractères") sys.exit() if liste1[1]!=1: liste1[1]=0 print("il n'y aura pas de chiffre") if liste1[2]!=1: liste1[2]=0 print("il n'y aura pas de lettres minuscules") if liste1[3]!=1: liste1[3]=0 print("il n'y aura pas de lettres majuscules") a=liste1[1] b=liste1[2] c=liste1[3] if a+b+c==0: print("le mot de passe ne peut pas se creer s'il ne contient aucun cractere") sys.exit() return liste1 """demande les criteres du l'utilisateur et les met sous forme de liste""" def generermdp(): liste2 = criteres() #liste2 reprend la liste1 des criteres liste3 = [] liste4 = [] if liste2[1]==1: liste3.append(chiffre()) if liste2[2]==1: liste3.append(lettre_min()) if liste2[3]==1: liste3.append(lettre_maj()) while len(liste4)!=30: if liste2[1]==1: liste4.append(chiffre()) if liste2[2]==1: liste4.append(lettre_min()) if liste2[3]==1: liste4.append(lettre_maj()) while len(liste3) < liste2[0]: #ajoute autant de caracteres à la liste que demande liste3.append(random.choice(liste4)) random.shuffle(liste3) liste3=[str(item) for item in liste3] liste3 = ''.join(liste3) print(liste3) """la fonction principale qui a l'aide des autres fonctions cree, et affiche le mot de passe""" generermdp()