Skip to content

Latest commit

 

History

History
136 lines (93 loc) · 3.52 KB

File metadata and controls

136 lines (93 loc) · 3.52 KB

Cifra de Vigenère em Java

GitHub Pages Java License

Implementação gráfica da cifra de Vigenère com interface Swing, permitindo criptografia e descriptografia de textos.

Interface Vigenere

🚀 Funcionalidades

  • Criptografia/Descriptografia de textos
  • Ajuste automático do tamanho da chave
  • Interface gráfica intuitiva
  • Tratamento de erros e validações
  • Suporte para caracteres A-Z e espaço

📥 Download

Baixe a versão mais recente:

📦 Pré-requisitos

  • Java 17 ou superior
  • Maven (para compilação via linha de comando)
  • Git (para clonar o repositório)
  • IDE Java opcional (Eclipse, IntelliJ, VS Code)

🛠️ Como Executar

1. Clonar o repositório

git clone https://github.com/JP-Linux/cifra-vigenere-java.git
cd cifra-vigenere-java

2. Execução na IDE

  1. Importe o projeto como projeto Maven existente
  2. Localize e execute a classe principal:
    cifradevigenere.CifraDeVigenere

3. Execução via linha de comando

Opção 1: Execução direta com Maven

mvn clean compile exec:java -Dexec.mainClass="cifradevigenere.CifraDeVigenere"

Opção 2: Construindo e executando o JAR

  1. Construa o projeto:
mvn clean package
  1. Execute o JAR gerado:
java -jar target/cifra-vigenere-java-*.jar

Opção 3: Execução simplificada (Linux/macOS)

  1. Crie um arquivo run.sh:
#!/bin/bash
mvn clean package
java -jar target/cifra-vigenere-java-*.jar
  1. Dê permissão de execução:
chmod +x run.sh
  1. Execute:
./run.sh

🖥️ Como Usar

  1. Insira a mensagem (texto claro ou cifrado)

  2. Digite a chave (apenas letras maiúsculas e espaço)

  3. Selecione a operação:

    • "Criptografar" para cifrar o texto
    • "Descriptografar" para decifrar
  4. Clique em "Executar"

🔍 Características Técnicas

  • Arquitetura: MVC (Model-View-Controller)

  • Componentes:

    • ControladorVigenere: Lógica principal de processamento
    • TabelaVigenere: Tabela de substituição personalizada
    • IgualarTamTexto: Ajuste cíclico da chave
  • Validações:

    • Campos obrigatórios
    • Caracteres válidos
    • Tratamento de exceções

📌 Notas

  • Caracteres válidos: A-Z (maiúsculas) e espaço

  • A chave será repetida ciclicamente para igualar ao tamanho do texto

  • Não suporta caracteres especiais ou acentuados

👤 Autor

Jorge Paulo Santos
GitHub Email

💝 Suporte ao Projeto

Se este projeto foi útil para você, considere apoiar meu trabalho através do GitHub Sponsors:

Sponsor

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.


Desenvolvido por Jorge Paulo Santos 👨💻