Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.841 ]
Homepage: https://github.com/mauricioph
Use para criar e guardar senhas diversas:
vs = ver senha
cs = criar senha
s = sair
Este script vai criar um banco de dados sqlite e vai criar e guardar suas senhas de forma encriptada. Se alguém conseguir pegar sua base de dados e tentar ler vai ver entradas assim:
sqlite> SELECT * FROM KEYS;
d2a8116004294b7603acbea8fc372b9cdee3d7e9950d1efadd4fc0b0bb07eff4
43b05ba3a81c28de854d5f2ef8382535a7981f8cfd32654882c4b3232bef7e9f
1919b015f7a3563d194e01d3b06023a8de8fe94e6263f459df97dd303989bca0
#!/usr/bin/env python
# caso seu ambiente não tenha o python3 apague a linha acima e chame o python3 antes do script.
# não vai funcionar no pyhton 2.x
import sqlite3
from hashlib import sha256
# Entre a sua senha aqui.
# Atenção essa senha, além de dar acesso a base de dados sera a chave de encriptação da mesma base de dados.
# modificando esta senha toda informação na base de dados não vai ser correta, somente se a senha original for restaurada neste campo.
# voce tera a informacao original.
ADMIN_PASSWORD = "minhasenhacabulosa"
connect = input("Entre senha administrativa\n")
while connect != ADMIN_PASSWORD:
print ('Senha incorreta.\nTente outra vez.')
connect = input("Entre senha administrativa\n")
if connect == "q":
break
conn = sqlite3.connect('gerenciador_senhas.db')
def create_password(pass_key, service, admin_pass):
return sha256(admin_pass.encode('utf-8') + service.lower().encode('utf-8') + pass_key.encode('utf-8')).hexdigest()[:15]
def get_hex_key(admin_pass, service):
return sha256(admin_pass.encode('utf-8') + service.lower().encode('utf-8')).hexdigest()
def get_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 = ""
for row in cursor:
file_string = row[0]
return create_password(file_string, service, admin_pass)
def add_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()
return create_password(secret_key, service, admin_pass)
if connect == ADMIN_PASSWORD:
try:
conn.execute('''CREATE TABLE KEYS
(PASS_KEY TEXT PRIMARY KEY NOT NULL);''')
print("Sua base de dados foi criada!\nQual senha você gostaria de guardar agora?")
except:
print("Você já tem uma base de dados, oque você gostaria de fazer?")
while True:
print("\n"+ "*"*15)
print("Comandos:")
print("s = sair do programa")
print("vs = ver senha")
print("cs = criar uma senha")
print("*"*15)
input_ = input(":")
if input_ == "s":
break
if input_ == "cs":
service = input("Essa senha vai ser para qual serviço ou website?\n")
print("\n" + service.capitalize() + " senha criada:\n" + add_password(service, ADMIN_PASSWORD))
if input_ == "vs":
service = input("Qual o nome do website/serviço?\n")
print("\n" + service.capitalize() + " senha:\n"+get_password(ADMIN_PASSWORD, service))
Troca de wallpaper temporizado para LXDE
Unescape de caracteres especiais ISO-8859-1
Correios - Rastreador de encomendas
Plano de fundo rotatório no Gnome
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (7)
O programa assinador digital (5)









