Skip to content
This page has been auto-translated and may contain errors.View in English

Generador de contraseñas

Zee Oye, el comando envió un memorándum de seguridad sobre higiene de contraseñas y me señalaron específicamente. Qué vergüenza. ¿Puedes hacer un pequeño generador de contraseñas? Le doy una longitud, digo sí o no a números y símbolos, y me da algo que realmente pueda usar. Supongo que usar "password123" para todas las cuentas no es lo mejor...

Lo que vas a construir

Password length: 12
Include numbers? (y/n): y
Include symbols? (y/n): y

Generated: k7#mP9xQ!2aL

Lo que necesitarás

  • Salida y entrada — recopilar las preferencias del usuario
  • Cadenas — caracteres, unir una lista de caracteres de vuelta en una cadena
  • Listas — construir y combinar el conjunto de caracteres permitidos
  • Módulos y la biblioteca estándarrandom para elegir caracteres, string para conjuntos de caracteres preconstruidos

Pistas

Construye el conjunto primero. Empieza con una lista vacía de caracteres permitidos. Agrega letras siempre, luego agrega condicionalmente dígitos o símbolos según lo que el usuario haya elegido.

El módulo string ahorra trabajo. Tiene cadenas listas para ti: string.ascii_letters, string.digits, string.punctuation. No necesitas escribirlas tú.

Elige y luego une. Elige un carácter a la vez usando random.choice(), repite eso por la longitud que pidió el usuario, luego une los resultados en una sola cadena.

Yendo más allá

Una vez que el generador básico funcione:

  • Garantiza las reglas. Si el usuario pidió números, asegúrate de que al menos un número aparezca en el resultado. Lo mismo para los símbolos. Elegir puramente al azar podría omitirlos.
  • Genera un lote. Permite que el usuario pida varias contraseñas a la vez y muéstralas todas.
  • Indicador de fortaleza. Después de generar, imprime una breve calificación: débil (solo letras), media (letras + números), fuerte (letras + números + símbolos).