Uma ferramenta para encriptar e decriptar credenciais de forma segura.
Project description
EncrypId 🛡️🔐
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.
📚 Índice
- 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
Por que EncrypId?
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.
Funcionalidades
- 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.
Tecnologias Utilizadas
- 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.
Estrutura do Projeto
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
Instalação
1. Clonar o Repositório
git clone https://github.com/hqr90/encrypid.git
cd encrypid
2. Criar um Ambiente Virtual (Recomendado)
python -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate
3. Instalar as Dependências
pip install -r requirements.txt
4. Publicar no PyPI (Opcional)
Para 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.
Como Usar
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.
Instalação via pip
Após publicar no PyPI, instale o EncrypId usando:
pip install encrypid
Interface de Linha de Comando (CLI)
A CLI permite que você encripte e decripte suas credenciais diretamente pelo terminal.
🔒 Encriptar Credenciais
encrypid encrypt -i caminho/para/credentials.yaml -o caminho/para/credentials_encrypted.bin
Parâ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.bin
Será solicitado que você insira uma senha segura para encriptar as credenciais.
🔓 Decriptar Credenciais
encrypid decrypt -i caminho/para/credentials_encrypted.bin -o caminho/para/decrypted_credentials.yaml
Parâ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.yaml
Ou para exibir no terminal:
encrypid decrypt -i credentials_encrypted.bin
🔑 Gerar Chave (Opcional)
encrypid generate_key
Este comando serve para verificar se a senha está funcionando corretamente, embora a geração de chave seja gerenciada internamente.
Interface Gráfica (GUI)
A GUI proporciona uma experiência visual para gerenciar suas credenciais sem a necessidade de comandos.
🔧 Executar a GUI
Após a instalação via pip, inicie a GUI usando:
encrypid-gui
Funcionalidades 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.
📸 Tela Inicial da GUI
Exemplos de Uso
1. Encriptando Credenciais via CLI
encrypid encrypt -i credentials.yaml -o credentials_encrypted.bin
Passo 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.
2. Decriptando Credenciais via CLI
encrypid decrypt -i credentials_encrypted.bin -o decrypted_credentials.yaml
Passo 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.
3. Utilizando a GUI
-
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
Boas Práticas de Segurança
-
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ção
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.
Licença
Este projeto está licenciado sob a MIT License.
Contato
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! ✨
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file encrypid-0.1.4.tar.gz.
File metadata
- Download URL: encrypid-0.1.4.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31a8be8ec4d723f3498b6acaa721b5fe235b477d59b3e9b33cabd10ecf12e063
|
|
| MD5 |
cdf32ae4e044bdee69af23f00adb5fc7
|
|
| BLAKE2b-256 |
9c5f9417a961935836b91d30e3f11234277a12185e0ce57cafb57e9ab81d84cd
|