-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpasswords.py
41 lines (35 loc) · 1.17 KB
/
passwords.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
import os
import random
import string
import email_users
from User import User,get_users,save_users
def generate_passwords(file: str):
lower = string.ascii_lowercase
upper = string.ascii_uppercase
digits = [str(i) for i in range(10)]
assert os.path.exists(file), "Provided file for users does not exist"
users = get_users(file)
for u in users:
# numbers 5 digits
d = random.sample(digits,4)
# uppder 2 characters
up = random.sample(upper,2)
# lower 2 characters
lo = random.sample(lower,2)
pass_combined = [d,up,lo]
shuffled_index = random.sample([0,1,2],3)
new_pass = pass_combined[shuffled_index[0]]+pass_combined[shuffled_index[1]]\
+pass_combined[shuffled_index[2]]
new_pass_str = ''
for chr in new_pass:
new_pass_str += chr
print(new_pass_str)
old_pass = u.new_pass
u.old_pass = old_pass
u.new_pass = new_pass_str
save_users(file,users)
if __name__ =='__main__':
import sys
assert len(sys.argv) == 2, "Expected to have a path for the users file"
file = sys.argv[1]
generate_passwords(file)