Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.998 ]
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))
Exercício com números randômicos - randint
Árvore binária de busca do tipo splay
Script Python de orçamento pessoal
Verificar se um número é primo
Afinador de Violão/guitarra em python e gtk.
Nenhum comentário foi encontrado.
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Samba 4 AD-DC 2026: Backup & Restore
Samba 4 AD-DC 2026: LAPS (Randomizando senhas locais).
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Como a Vivideo está revolucionando a criação de vídeos? (0)
Linus Torvalds e Bill Gates se encontram pela primeira vez (1)









