forked from RK1905101/Mini_Python_Projects
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpassword_manager.py
More file actions
Latest commit
68 lines (49 loc) · 2.12 KB
/
Copy pathpassword_manager.py
File metadata and controls
68 lines (49 loc) · 2.12 KB
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
63
64
65
importsqlite3
fromhashlibimportsha256
ADMIN_PASSWORD="123456"
connect=input("What is your password?\n")
whileconnect!=ADMIN_PASSWORD:
connect=input("What is your password?\n")
ifconnect=="q":
break
conn=sqlite3.connect('pass_manager.db')
defcreate_password(pass_key, service, admin_pass):
returnsha256(admin_pass.encode('utf-8') +service.lower().encode('utf-8') +pass_key.encode('utf-8')).hexdigest()[:15]
defget_hex_key(admin_pass, service):
returnsha256(admin_pass.encode('utf-8') +service.lower().encode('utf-8')).hexdigest()
defget_password(admin_pass, service):
secret_key=get_hex_key(admin_pass, service)
cursor=conn.execute("SELECT * from KEYS WHERE PASS_KEY="+'"'+secret_key+'"')
file_string=""
forrowincursor:
file_string=row[0]
returncreate_password(file_string, service, admin_pass)
defadd_password(service, admin_pass):
secret_key=get_hex_key(admin_pass, service)
command='INSERT INTO KEYS (PASS_KEY) VALUES (%s);'%('"'+secret_key+'"')
conn.execute(command)
conn.commit()
returncreate_password(secret_key, service, admin_pass)
ifconnect==ADMIN_PASSWORD:
try:
conn.execute('''CREATE TABLE KEYS
(PASS_KEY TEXT PRIMARY KEY NOT NULL);''')
print("Your safe has been created!\nWhat would you like to store in it today?")
except:
print("You have a safe, what would you like to do today?")
whileTrue:
print("\n"+"*"*15)
print("Commands:")
print("q = quit program")
print("gp = get password")
print("sp = store password")
print("*"*15)
input_=input(":")
ifinput_=="q":
break
ifinput_=="sp":
service=input("What is the name of the service?\n")
print("\n"+service.capitalize() +" password created:\n"+add_password(service, ADMIN_PASSWORD))
ifinput_=="gp":
service=input("What is the name of the service?\n")
print("\n"+service.capitalize() +" password:\n"+get_password(ADMIN_PASSWORD, service))