-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathContraseñas.py
30 lines (23 loc) · 1004 Bytes
/
Contraseñas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import random
def generar_contraseña(longitud_minima=14):
if longitud_minima <= 14:
raise ValueError("La longitud de la contraseña debe ser mayor a 14 caracteres.")
mayúsculas = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
minúsculas = "abcdefghijklmnñopqrstuvwxyz"
dígitos = "0123456789"
caracteres_especiales = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
longitud = random.randint(longitud_minima + 1, longitud_minima + 10)
contraseña = [
random.choice(mayúsculas),
random.choice(minúsculas),
random.choice(dígitos),
random.choice(caracteres_especiales)
]
todos_los_caracteres = mayúsculas + minúsculas + dígitos + caracteres_especiales
while len(contraseña) < longitud:
caracter = random.choice(todos_los_caracteres)
if caracter not in contraseña:
contraseña.append(caracter)
random.shuffle(contraseña)
return ''.join(contraseña)
print(generar_contraseña(14))