Gerenciador de senhas
Publicado por M4iir1c10 (última atualização em 03/05/2020)
[ Hits: 4.533 ]
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))
Compressão de série numérica em Python
Algoritmo de Dijkstra em Python com visualização em PyGraphviz
Exercício com números randômicos - randint
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
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Compartilhame... no Samba não funciona (13)
Codigo em c++ imprimindo valores duplicados[AJ... (1)
Redirecionar site em um link específico (2)
Dificuldade para renderizar vídeo no kdenlive (2)
Samba4 - Problemas ao executar gpupdate /force e criar GPOs [RESOLVIDO... (7)