title: Generador de contraseñas description: Crea un script que genera una contraseña aleatoria a partir de un conjunto de caracteres que el usuario controla.
Generador de contraseñas
Zee Oye, así que se envió un memo de seguridad sobre higiene de contraseñas y me llamaron la atención específicamente. Vergonzoso. ¿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 genera algo que realmente pueda usar. Supongo que usar "password123" para todas las cuentas no es lo mejor...
Lo que estás construyendo
Longitud de contraseña: 12
¿Incluir números? (s/n): s
¿Incluir símbolos? (s/n): s
Generada: k7#mP9xQ!2aLLo que necesitarás
- Salida y entrada - recopilar las preferencias del usuario
- Strings - caracteres, unir una lista de caracteres en una sola cadena
- Listas - construir y combinar el conjunto de caracteres permitidos
- Módulos y la biblioteca estándar -
randompara elegir caracteres,stringpara conjuntos de caracteres predefinidos
Pistas
Construye el conjunto primero. Comienza con una lista vacía de caracteres permitidos. Agrega siempre letras, luego agrega condicionalmente dígitos o símbolos según lo que el usuario haya elegido.
El módulo string ahorra trabajo. Tiene cadenas predefinidas para ti: string.ascii_letters, string.digits, string.punctuation. No necesitas escribirlas.
Elige, luego une. Elige un carácter a la vez usando random.choice(), repite eso para la longitud que el usuario solicitó, luego une los resultados en una sola cadena.
Ir 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 símbolos. Elegir de forma completamente aleatoria podría omitirlos.
- Genera un lote. Permite que el usuario solicite múltiples contraseñas a la vez y muestra todas ellas.
- Indicador de fortaleza. Después de generar, imprime una calificación breve: débil (solo letras), media (letras + números), fuerte (letras + números + símbolos).

