You've already forked Curso-lenguaje-python
Update README & add catch-all
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
53
catch-all/01_scripts_words_linux/random_pass.py
Normal file
53
catch-all/01_scripts_words_linux/random_pass.py
Normal file
@@ -0,0 +1,53 @@
|
||||
"""
|
||||
Random Password Generator
|
||||
=========================
|
||||
Genera una contraseña aleatoria con el número
|
||||
de palabras que indiques a partir de un archivo
|
||||
de palabras de Linux ubicado en la mayoría
|
||||
de las distribuciones en /usr/share/dict/words
|
||||
|
||||
Despues, pregunta al usuario si desea mezclar
|
||||
las letras de la contraseña generada.
|
||||
"""
|
||||
import random
|
||||
|
||||
# Ruta al archivo de palabras en Linux (puede variar según la distribución)
|
||||
word_file = '/usr/share/dict/words'
|
||||
|
||||
# Función para generar una contraseña aleatoria
|
||||
|
||||
|
||||
def generate_password(word_file, num_words):
|
||||
with open(word_file, 'r') as file:
|
||||
words = [line.strip() for line in file.readlines()]
|
||||
|
||||
# Seleccionar un número de palabras al azar
|
||||
password_words = random.sample(words, num_words)
|
||||
|
||||
# Combinar las palabras para formar la contraseña
|
||||
password = ''.join(password_words)
|
||||
|
||||
return password
|
||||
|
||||
# Función para mezclar las letras de una cadena
|
||||
|
||||
|
||||
def shuffle_letters(input_string):
|
||||
letters = list(input_string)
|
||||
random.shuffle(letters)
|
||||
return ''.join(letters)
|
||||
|
||||
|
||||
# Preguntar al usuario cuántas palabras desea en la contraseña
|
||||
num_words = int(input("Número de palabras para la contraseña: "))
|
||||
|
||||
# Generar una contraseña aleatoria con el número de palabras especificado
|
||||
random_password = generate_password(word_file, num_words)
|
||||
print("Contraseña aleatoria generada:", random_password)
|
||||
|
||||
# Preguntar al usuario si desea mezclar las letras
|
||||
mezclar_letras = input(
|
||||
"¿Desea mezclar las letras de la contraseña? (s/n): ").lower()
|
||||
if mezclar_letras == 's':
|
||||
random_password = shuffle_letters(random_password)
|
||||
print("Contraseña con letras mezcladas:", random_password)
|
||||
Reference in New Issue
Block a user