Generador de Contraseรฑas Aleatorias

Generador de Contraseรฑas Aleatorias (Python)

Generador de Contraseรฑas Aleatorias (Python)

Empezamos con el primer proyecto de la guia 50 Proyectos de Programacion para Practicar y Aprender. Proyectos para Principiantes

Enunciado de proyecto:

Crea un programa que genere contraseรฑas seguras con una longitud especificada por el usuario.

Cรณdigo Python:


import random
import string

def generar_contrasena(longitud):
    """Genera una contraseรฑa aleatoria segura."""

    caracteres = string.ascii_letters + string.digits + 
string.punctuation
    contrasena = ''.join(random.choice(caracteres) 
for i in range(longitud))
    return contrasena

if __name__ == "__main__":
    try:
        longitud_contrasena = int(
input("Introduce la longitud de la contraseรฑa deseada: "))
        if longitud_contrasena <= 0:
            print("La longitud de la contraseรฑa debe 
ser mayor que 0.")
        else:
            contrasena_generada = 
generar_contrasena(longitud_contrasena)
            print("Contraseรฑa generada:", 
contrasena_generada)
    except ValueError:
        print("Por favor, introduce un nรบmero 
entero vรกlido para la longitud.")

Explicaciรณn del cรณdigo:

  • Importaciรณn de mรณdulos:
    • random: Para generar nรบmeros aleatorios.
    • string: Para acceder a conjuntos de caracteres como letras, dรญgitos y puntuaciรณn.
  • Funciรณn generar_contrasena(longitud):
    • Define un conjunto de caracteres posibles (letras, dรญgitos, puntuaciรณn).
    • Utiliza random.choice() para seleccionar aleatoriamente un carรกcter del conjunto por la cantidad de veces especificada por la longitud deseada.
    • Une los caracteres seleccionados en una cadena usando ''.join().
    • Retorna la contraseรฑa generada.
  • Bloque principal if __name__ == "__main__"::
    • Solicita al usuario que introduzca la longitud de la contraseรฑa deseada.
    • Intenta convertir la entrada del usuario a un entero. Si falla (por ejemplo, si el usuario introduce texto), captura la excepciรณn ValueError e informa al usuario.
    • Verifica que la longitud introducida sea mayor que 0.
    • Si la entrada es vรกlida, llama a la funciรณn generar_contrasena() para generar la contraseรฑa.
    • Imprime la contraseรฑa generada.

Indice de la guia de proyectos

50 Proyectos de Programacion