EncrypId é uma ferramenta poderosa e intuitiva desenvolvida em Python para encriptar e decriptar suas credenciais sensíveis de forma segura. Com uma interface de linha de comando (CLI) robusta e uma interface gráfica amigável (GUI) construída com PyQt5, EncrypId garante que suas informações confidenciais estejam sempre protegidas contra acessos não autorizados.
- Por que EncrypId?
- Funcionalidades
- Tecnologias Utilizadas
- Estrutura do Projeto
- Instalação
- Como Usar
- Exemplos de Uso
- Boas Práticas de Segurança
- Contribuição
- Licença
Em um mundo cada vez mais digital, proteger informações sensíveis é essencial. Seja para armazenar credenciais de acesso a serviços como Firebase, GPT ou outras APIs, garantir que esses dados estejam seguros evita riscos de segurança e acessos indesejados. EncrypId oferece uma solução simples e eficaz para gerenciar suas credenciais com segurança máxima.
- Encriptação de Credenciais: Converta seus arquivos YAML contendo credenciais em arquivos binários encriptados.
- Decriptação de Credenciais: Recupere suas credenciais de arquivos encriptados de forma segura.
- Interface de Linha de Comando (CLI): Execute operações de encriptação e decriptação diretamente pelo terminal.
- Interface Gráfica (GUI): Utilize uma interface amigável para gerenciar suas credenciais sem a necessidade de comandos.
- Gestão de Senhas Segura: Utilize senhas fortes para proteger suas credenciais e evite armazená-las diretamente no código.
- Python 3.8+
- PyQt5: Para a construção da interface gráfica.
- Click: Para a criação da interface de linha de comando.
- Cryptography: Biblioteca robusta para operações de criptografia.
- PyYAML: Para manipulação de arquivos YAML.
- Python-dotenv: Para gerenciamento de variáveis de ambiente.
encrypid/
├── encrypid/
│ ├── __init__.py # Inicializa o pacote EncrypId
│ ├── encrypid.py # Classe principal para encriptação e decriptação
│ └── encrypid_ui.py # Interface gráfica com PyQt5
├── tests/
│ ├── __init__.py
│ └── test_encrypid.py
├── LICENSE
├── README.md
├── setup.py
├── pyproject.toml
├── requirements.txt
└── MANIFEST.in
git clone https://github.com/hqr90/encrypid.git
cd encrypidpython -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activatepip install -r requirements.txtPara tornar o EncrypId instalável via pip, você pode publicar o pacote no PyPI. Siga os passos descritos na seção Tornar o EncrypId Instalável via pip.
EncrypId está disponível tanto via CLI quanto via GUI. Além disso, você pode instalar o EncrypId diretamente via pip para facilitar o uso.
Após publicar no PyPI, instale o EncrypId usando:
pip install encrypidA CLI permite que você encripte e decripte suas credenciais diretamente pelo terminal.
encrypid encrypt -i caminho/para/credentials.yaml -o caminho/para/credentials_encrypted.binParâmetros:
-i,--input-file: Caminho para o arquivo YAML de credenciais a ser encriptado.-o,--output-file: Caminho para salvar o arquivo encriptado.
Exemplo:
encrypid encrypt -i credentials.yaml -o credentials_encrypted.binSerá solicitado que você insira uma senha segura para encriptar as credenciais.
encrypid decrypt -i caminho/para/credentials_encrypted.bin -o caminho/para/decrypted_credentials.yamlParâmetros:
-i,--input-file: Caminho para o arquivo encriptado a ser decriptado.-o,--output-file: (Opcional) Caminho para salvar o arquivo YAML de saída. Se omitido, as credenciais serão exibidas no terminal.
Exemplo:
encrypid decrypt -i credentials_encrypted.bin -o decrypted_credentials.yamlOu para exibir no terminal:
encrypid decrypt -i credentials_encrypted.binencrypid generate_keyEste comando serve para verificar se a senha está funcionando corretamente, embora a geração de chave seja gerenciada internamente.
A GUI proporciona uma experiência visual para gerenciar suas credenciais sem a necessidade de comandos.
Após a instalação via pip, inicie a GUI usando:
encrypid-guiFuncionalidades Disponíveis:
-
Encriptar Credenciais:
- Selecione o arquivo YAML de entrada.
- Escolha onde salvar o arquivo encriptado.
- Insira e confirme a senha.
- Clique em "Encriptar" para processar.
-
Decriptar Credenciais:
- Selecione o arquivo encriptado.
- (Opcional) Escolha onde salvar o arquivo YAML de saída.
- Insira a senha.
- Clique em "Decriptar" para processar.
-
Logs e Mensagens de Status:
- Área dedicada para exibir mensagens de sucesso, erros e logs de operações.
encrypid encrypt -i credentials.yaml -o credentials_encrypted.binPasso a Passo:
- Execute o comando acima no terminal.
- Insira e confirme a senha quando solicitado.
- O arquivo
credentials_encrypted.binserá criado com suas credenciais encriptadas.
encrypid decrypt -i credentials_encrypted.bin -o decrypted_credentials.yamlPasso a Passo:
- Execute o comando acima no terminal.
- Insira a senha utilizada na encriptação.
- O arquivo
decrypted_credentials.yamlserá criado com suas credenciais decriptadas.
-
Execute o comando da GUI:
encrypid-gui
-
Na seção de encriptação:
- Clique em "Selecionar Arquivo" para escolher
credentials.yaml. - Clique em "Selecionar Destino" para definir onde salvar
credentials_encrypted.bin. - Insira e confirme a senha.
- Clique em "Encriptar".
- Clique em "Selecionar Arquivo" para escolher
-
Na seção de decriptação:
- Clique em "Selecionar Arquivo" para escolher
credentials_encrypted.bin. - (Opcional) Clique em "Selecionar Destino" para definir onde salvar
decrypted_credentials.yaml. - Insira a senha.
- Clique em "Decriptar".
- Clique em "Selecionar Arquivo" para escolher
-
Proteja Seus Arquivos Encriptados:
-
Adicione
credentials_encrypted.bine.envao seu.gitignorepara evitar que sejam versionados.# .gitignore credentials_encrypted.bin .env
-
-
Gerencie as Permissões dos Arquivos:
-
Restrinja as permissões para que apenas o usuário atual possa ler e escrever os arquivos sensíveis.
chmod 600 credentials_encrypted.bin chmod 600 .env
-
-
Armazene a Senha com Segurança:
- Utilize ferramentas de gerenciamento de segredos, como AWS Secrets Manager, Azure Key Vault, ou HashiCorp Vault, para armazenar e gerenciar suas senhas de forma segura.
-
Rotação de Senhas:
- Periodicamente, altere a senha utilizada para encriptar as credenciais e regenere o arquivo encriptado para manter a segurança.
-
Auditoria e Monitoramento:
- Monitore acessos aos arquivos de credenciais e às variáveis de ambiente para detectar quaisquer acessos não autorizados.
-
Evite Expor Senhas em Logs:
- Assegure-se de que senhas ou dados sensíveis não sejam registrados em logs ou exibidos no terminal inadvertidamente.
Contribuições são bem-vindas! Se você deseja melhorar o EncrypId, siga os passos abaixo:
-
Fork este repositório.
-
Crie uma branch para sua feature:
git checkout -b feature/nova-feature
-
Commit suas mudanças:
git commit -m "Adiciona nova feature" -
Push para a branch:
git push origin feature/nova-feature
-
Abra um Pull Request.
Este projeto está licenciado sob a MIT License.
Para dúvidas, sugestões ou contribuições, entre em contato:
- Email: rebello.hiltonqueiroz@gmail.com
- LinkedIn: hqr90
- GitHub: hqr90
✨ Proteja suas credenciais com EncrypId e garanta a segurança dos seus dados! ✨

