Dopo la creazione del Nuget - PasswordGeneratorHelper ho deciso di provare a replicare la creazione della password in python per continuare il mio percorso di studio.
Cosa ho imparato da questo esperimento? Ho imparato diverse cose interessanti. Ad esempio come validare l’acquisizione di un numero intero da parte dell’utente e come rendere random i caratteri di presenti una stringa di testo.
Password Generator
Di seguito troverete lo script creato per l’occasione.
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
54
55
56
57
58
59
60
61
62
| import random
def passwordLen():
message="Password Lenght: "
while True:
try:
result = int(
input(message)
)
except ValueError:
print("Input is not valid! Only number")
continue
else:
return result
break
def main():
passwordLenght = passwordLen()
chars = []
for i in range(26):
# UpperCase
chars.append( chr(65 + i) )
# LowerCase
chars.append( chr(97 + i) )
for i in range(10):
# Number
chars.append( chr(48 + i) )
for i in range(16):
# Special Chars 1
chars.append( chr(32 + i) )
for i in range(7):
# Special Chars 2
chars.append( chr(58 + i) )
for i in range(6):
# Special Chars 3
chars.append( chr(91 + i) )
for i in range(4):
# Special Chars 4
chars.append( chr(123 + i) )
random.shuffle(chars)
randomPassword = "".join(chars)
randomPassword = randomPassword[0:passwordLenght]
print(randomPassword)
exit()
if __name__ == "__main__":
main()
|
La parte interessante (una volta creato l’array con la lista di caratteri) e’ il modo in cui vengono ordinati in maniera random, concatenati ed estratti in parte.
1
2
3
4
5
| random.shuffle(chars)
randomPassword = "".join(chars)
randomPassword = randomPassword[0:passwordLenght]
|
Se volete vedere lo script (ed anche gli altri creati per lo studio di Python) sul mio GitHub vi lascio il link del repository python-training-example.
Happy Coding!
Link Utili