
Generador de contraseñas

mi primer proyecto en python
este proyecto es un generador de contraseña en la cual utilizo una nueva libreria llamada string la cual la utilizo para tener disponible todos los caracteres de un teclado, este proyecto funciona de la siguiente mndera: con un input te pregunta que quieres: mayusculas, minusculas, caracteres especiales, numeros ,etc. despues de haberte preguntado que querias de caracteres te pregunta la longitud de la contraseña.
despues de haberte preguntado todo esto, lo guarda en una variable llamada caracteres la cual incluye todos los caracteres que puede usar el programa, despues con choice random elije caracteres random pero que sea de la longitud deseada incluyendo los caracteres deseados.
en este proyecto aprendi a utilizar la libreria string y en general a aprender como utilizar el lenguaje.
librerias que use
-
string: esta libreria es una libreria la cual incluye todos los caracteres disponibles para escribir. En este proyecto la utilize para las contraseñas
-
random: es una función que te permite generar entre otras cosas, números aleatorios que para este juego lo utilize para que en la variable caracteres disponibles elijiera los caracteres que se van a usar para la contraseña del usuario
codigo
import string
import random
carateres_disponibles = ""
respuestas = {
"mayusculas": input("¿Quieres que tu contraseña tenga mayúsculas? si/no: ").lower(),
"minusculas": input("¿Quieres que tu contraseña tenga minúsculas? si/no: ").lower(),
"caracteres_especiales": input("¿Quieres que tu contraseña tenga caracteres especiales? si/no: ").lower(),
"numeros": input("¿Quieres que tu contraseña incluya números? si/no: ").lower()
}
if respuestas["mayusculas"] == "si":
carateres_disponibles += string.ascii_uppercase
if respuestas["minusculas"] == "si":
carateres_disponibles += string.ascii_lowercase
if respuestas["caracteres_especiales"] == "si":
carateres_disponibles += string.punctuation
if respuestas["numeros"] == "si":
carateres_disponibles += string.digits
print("que longitud es la que deseas?")
longitud_contraseña = int(input("->"))
contraseña = "".join(random.choice(carateres_disponibles) for i in range(longitud_contraseña))
print(f"la contraseña generada es: {contraseña}")