Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.931 ]
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))
Gerador de cartão de crédito com Tkinter
Probabilidade de Vencer - Poker Texas Hold
Fazendo processos rodarem em background
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (40)
Pfsense inacessivel após um periodo de tempo (2)









