Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.550 ]
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))
Calcula quantos dias uma pessoa viveu
Cria no fluxbox um menu para mudar o wallpaper
ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)