Skip to main content

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.

EncrypId Banner


📚 Índice


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

EncrypId GUI


Exemplos de Uso

1. Encriptando Credenciais via CLI

encrypid encrypt -i credentials.yaml -o credentials_encrypted.bin

Passo a Passo:

  1. Execute o comando acima no terminal.
  2. Insira e confirme a senha quando solicitado.
  3. O arquivo credentials_encrypted.bin será criado com suas credenciais encriptadas.

2. Decriptando Credenciais via CLI

encrypid decrypt -i credentials_encrypted.bin -o decrypted_credentials.yaml

Passo a Passo:

  1. Execute o comando acima no terminal.
  2. Insira a senha utilizada na encriptação.
  3. O arquivo decrypted_credentials.yaml será criado com suas credenciais decriptadas.

3. Utilizando a GUI

  1. Execute o comando da GUI:

    encrypid-gui
    
  2. 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".
  3. 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".

Boas Práticas de Segurança

  1. Proteja Seus Arquivos Encriptados:

    • Adicione credentials_encrypted.bin e .env ao seu .gitignore para evitar que sejam versionados.

      # .gitignore
      credentials_encrypted.bin
      .env
      
  2. 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
      
  3. 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.
  4. Rotação de Senhas:

    • Periodicamente, altere a senha utilizada para encriptar as credenciais e regenere o arquivo encriptado para manter a segurança.
  5. Auditoria e Monitoramento:

    • Monitore acessos aos arquivos de credenciais e às variáveis de ambiente para detectar quaisquer acessos não autorizados.
  6. 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:

  1. Fork este repositório.

  2. Crie uma branch para sua feature:

    git checkout -b feature/nova-feature
    
  3. Commit suas mudanças:

    git commit -m "Adiciona nova feature"
    
  4. Push para a branch:

    git push origin feature/nova-feature
    
  5. 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:


Proteja suas credenciais com EncrypId e garanta a segurança dos seus dados!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

encrypid-0.1.2.tar.gz (15.2 kB view details)

Uploaded Source

File details

Details for the file encrypid-0.1.2.tar.gz.

File metadata

  • Download URL: encrypid-0.1.2.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for encrypid-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6b4ce074f06950c496c844ad833747fed92279b44c3e47c91e124b7da5883b5e
MD5 ef9684f45aad34e918425636ae6d7274
BLAKE2b-256 80e73b9a4266c2cf072701c8df1e0bf331cc30beadc10534b170aebddcb23e34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page