-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpasswords.py
81 lines (64 loc) · 1.93 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# -*- coding: utf-8 -*-
import sqlite3
MASTER_PASSWORD = "123456" # Your password
senha = input('Insira sua senha master: ')
if senha != MASTER_PASSWORD:
print('Senha inválida! Encerrando ...')
exit()
conn = sqlite3.connect('passwords.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
service TEXT NOT NULL,
USERNAME TEXT NOT NULL,
password TEXT NOT NULL
);
''')
def menu():
print('*******************************')
print('* i : inserir nova senha *')
print('* l : listar serviços salvos *')
print('* r : recuperar uma senha *')
print('* s : Sair *')
print('*******************************')
def get_password(service):
cursor.execute(f'''
SELECT username, password FROM users
WHERE service = '{service}'
''')
if cursor.rowcount == 0:
print("Serviço não cadastrado (use 'l' para verificar os serviços).")
else:
for user in cursor.fetchall():
print(user)
def insert_password(service, username, password):
cursor.execute(f'''
INSERT INTO users (service, username, password)
VALUES ('{service}', '{username}', '{password}')
''')
conn.commit()
def show_services():
cursor.execute('''
SELECT service FROM users;
''')
for service in cursor.fetchall():
print(service)
while True:
menu()
op = input("O que deseja fazer? ")
if op not in ['l', 'i', 'r', 's']:
print("Opção invalida! ")
continue
if op == 's':
break
if op == 'i':
service = input('Qual o nome do serviço? ')
username = input('Qual o nome de usuario? ')
password = input('Qual a senha? ')
insert_password(service, username, password)
if op == 'l':
show_services()
if op == 'r':
service = input('Qual o serviço para o qual quer a senha? ')
get_password(service)
conn.close()