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