Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.711 ]
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))
Árvore binária de busca do tipo splay
Gerador de números para Mega-Sena
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (0)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)