Aller au contenu

RedLife

Membre
  • Compteur de contenus

    2
  • Inscription

  • Dernière visite

Messages posté(e)s par RedLife

  1. Salut,

    ca fait 2 ans voir plus que j'ai pas écris une ligne de code je ré-apprends petit à petit et ça va je me refamiliarise petit à petit avec les langages informatiques (php, python et le reste html, css)

    Mais python reste mon préféré et de loin, je vous partage donc ma première "vraie" création depuis 2 ans et j'en suis plutot content

    import random
    import string
    import sys
    import os
    class Generator:
    	"""
    	Classe permettant de générer un mot de passe par RedVie31"""
    	def __init__(self):
    		self.mdpFinal = ""
    		self.listeCaracteresMaj = string.ascii_uppercase
    		self.listeChiffres = "0123456789"
    		self.listeCaracteres = string.ascii_lowercase
    		self.longueur = 0
    		self.auth = False
    		self.Spec = "#,-$%!§_@=&çè" #Caractères spéciaux, modifiable et adaptable à vos besoins
    		
    	
    
    
    	def generer(self, longueur, auth):
    		tailleChaine1 = len(self.listeCaracteresMaj)
    		tailleChaine2 = len(self.listeCaracteres)
    		tailleChaine3 = len(self.listeChiffres)		
    		tailleSpec = len(self.Spec)
    		if(isinstance(longueur, int)):
    			self.longueur = longueur
    		else:
    			print("ERREUR DE TYPE RENSEIGNE (TAILLE_MDP) DOIT ETRE INT)")
    			sys.exit()
    		if(isinstance(auth, bool)):
    			pass
    		else:
    			sys.exit()
    
    		i = 0
    		while i < self.longueur:
    			if auth == True:
    				rand = random.randint(0,3)
    			elif(auth == False) :
    				rand = random.randint(0,2)
    			if(rand == 3):
    
    				randx = random.randint(0,tailleSpec)
    				self.mdpFinal = self.mdpFinal + self.Spec[randx]
    			if(rand == 0):
    				rand1 = random.randint(0, 25)
    				self.mdpFinal = self.mdpFinal + self.listeCaracteresMaj[rand1]
    			elif(rand == 1):
    				rand1 = random.randint(0, 25)
    				self.mdpFinal = self.mdpFinal + self.listeCaracteres[rand1]
    			elif rand == 2:
    				rand1 = random.randint(0, 9)
    				self.mdpFinal = self.mdpFinal + self.listeChiffres[rand1]
    			i += 1
    		return self.mdpFinal
    
    
    
    
    try:
    	taille = sys.argv[1]
    	carac = sys.argv[2].lower()
    	tailleMdp = int(taille)
    	auth = ['yes', 'no']
    	ok = False
    except:
    	print("Usage : script.py {TAILLE_MDP} {CARAC}\nTAILLE_MDP = INT\nCARAC =  'yes' or 'no'\nVERIFIEZ LES ARGUMENTS UTILISES")
    	sys.exit()
    if len(sys.argv) != 3:
    	print("LE PROGRAMME A BESOIN DE DEUX ARGUMENTS POUR DEMARRER")
    
    if(carac == "yes"):
    	mdpFinal = Generator()
    	X = mdpFinal.generer(tailleMdp, True)
    	print(X)
    
    elif(carac == "no"):
    	mdpFinal = Generator()
    	X = mdpFinal.generer(tailleMdp, False)
    	print(X)
    mdpEcriture = "\n" + X + " | \n"
    file = open("mdp.txt",'a')
    file.write(mdpEcriture)
    file.close()

    En executant le script comme tel : fichier.py {LongueurMDP} {'yes' OU 'no'} (la syntaxe d'utilisation est expliquée de toute façon qd vous lancerez le script

    le script génère un mdp aléatoire avec ou sans caractères spéciaux et écrit le mdp dans un fichier nommé mdp.txt ds le meme dossier que le script

     

    bonne journée à vous

     

×
×
  • Créer...