Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.763 ]
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 PIS/PASEP em Python
Jogo de adivinhar o número aleatório
Nenhum coment�rio foi encontrado.
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Realizar overclock no Miyoo Mini (plus ou normal)
Otimização de memória para máquinas modestas
Unbuntu não atualiza o firmware [RESOLVIDO] (2)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (0)
Dúvidas sobre a originalidade de conteúdos online (10)
Erro de interface de Rede no Virt Manager dentro Debian 13 KDE (12)