Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.546 ]
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))
Programa para derivação de funções matemáticas polinomiais
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? (6)