-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStrong3r.py
53 lines (42 loc) · 1.65 KB
/
Strong3r.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import random
import string
def gerar_senha(tamanho_senha, incluir_minusculas=True, incluir_maiusculas=True, incluir_numeros=True, incluir_simbolos=True):
caracteres = []
if incluir_minusculas:
caracteres.extend(string.ascii_lowercase)
if incluir_maiusculas:
caracteres.extend(string.ascii_uppercase)
if incluir_numeros:
caracteres.extend(string.digits)
if incluir_simbolos:
caracteres.extend(string.punctuation)
senha = "".join(random.choice(caracteres) for _ in range(tamanho_senha))
return senha
def interagir_usuario():
tamanho_senha = int(input("""
TAMANHO DA SENHA: """))
while True:
print('=' * 26)
incluir_minusculas = input("INCLUIR MINUSCULAS? (s/n): ").lower() == "s"
print('=' * 26)
incluir_maiusculas = input("INCLUIR MAIUSCULAS? (s/n): ").lower() == "s"
print('=' * 26)
incluir_numeros = input("INCLUIR NUMEROS? (s/n): ").lower() == "s"
print('=' * 23)
incluir_simbolos = input("INCLUIR SIMBOLOS? (s/n): ").lower() == "s"
print('=' * 24)
if incluir_minusculas or incluir_maiusculas or incluir_numeros or incluir_simbolos:
break
else:
print("""
ERRO!!!
AO MENOS UM GRUPO DE CARACTERES DEVE SER INCLUIDO...
""")
return tamanho_senha, incluir_minusculas, incluir_maiusculas, incluir_numeros, incluir_simbolos
tamanho_senha, incluir_minusculas, incluir_maiusculas, incluir_numeros, incluir_simbolos = interagir_usuario()
senha = gerar_senha(tamanho_senha, incluir_minusculas, incluir_maiusculas, incluir_numeros, incluir_simbolos)
print(f"""
{'=' * (tamanho_senha + 7)}
SENHA: \033[1;34m{senha}\033[m
{'=' * (tamanho_senha + 7)}
""")