Tutorial de Desenvolvimento de um App Codificador e Decodificador em Java usando Cipher

Tutorial de Desenvolvimento de um App Codificador e Decodificador em Java usando Cipher

Introdução:

Neste tutorial, aprenderemos a desenvolver um aplicativo simples em Java para criptografar e descriptografar palavras usando a classe Cipher do pacote javax.crypto. O aplicativo permitirá ao usuário inserir uma palavra e escolher entre criptografar ou descriptografar essa palavra usando um algoritmo de criptografia simétrica.

Pré-requisitos:

  • Conhecimento básico de programação em Java.
  • JDK (Java Development Kit) instalado em seu sistema.

Passo 1: Configuração do Projeto:

  1. Crie um novo projeto Java em sua IDE preferida.
  2. Certifique-se de ter o JDK configurado corretamente no seu ambiente de desenvolvimento.

Passo 2: Implementação do Aplicativo: Agora, vamos escrever o código Java para o nosso aplicativo codificador e decodificador.

java
import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import java.util.Scanner; import java.util.Base64; public class CipherApp { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); System.out.println("Selecione uma opção:"); System.out.println("1. Criptografar"); System.out.println("2. Descriptografar"); int opcao = scanner.nextInt(); System.out.println("Digite a palavra a ser processada:"); scanner.nextLine(); // Consumir a quebra de linha deixada pelo nextInt() String palavra = scanner.nextLine(); // Gerar uma chave secreta KeyGenerator keyGen = KeyGenerator.getInstance("AES"); keyGen.init(128); // tamanho da chave em bits SecretKey chave = keyGen.generateKey(); // Criar uma instância do Cipher Cipher cipher = Cipher.getInstance("AES"); switch (opcao) { case 1: // Criptografar // Criptografar os dados cipher.init(Cipher.ENCRYPT_MODE, chave); byte[] dadosCriptografados = cipher.doFinal(palavra.getBytes()); // Imprimir os dados criptografados System.out.println("Palavra criptografada: " + Base64.getEncoder().encodeToString(dadosCriptografados)); break; case 2: // Descriptografar // Descriptografar os dados cipher.init(Cipher.DECRYPT_MODE, chave); byte[] dadosDecodificados = cipher.doFinal(Base64.getDecoder().decode(palavra)); // Imprimir os dados descriptografados System.out.println("Palavra descriptografada: " + new String(dadosDecodificados)); break; default: System.out.println("Opção inválida."); } scanner.close(); } }

Explicação do Código:

  • O aplicativo solicita ao usuário que escolha entre criptografar ou descriptografar uma palavra.
  • A palavra fornecida pelo usuário é convertida em bytes para ser processada pelo Cipher.
  • Uma chave secreta é gerada usando o algoritmo AES.
  • A instância do Cipher é criada usando o algoritmo AES.
  • Dependendo da escolha do usuário, o aplicativo criptografa ou descriptografa a palavra usando a chave e o Cipher apropriados.

Passo 3: Compilação e Execução:

  1. Salve o arquivo Java.
  2. Compile o código usando sua IDE ou pelo terminal usando o comando javac CipherApp.java.
  3. Execute o aplicativo compilado usando o comando java CipherApp.

Conclusão: Neste tutorial, desenvolvemos um aplicativo simples em Java para criptografar e descriptografar palavras usando a classe Cipher. Você aprendeu a utilizar os conceitos básicos de criptografia simétrica em Java para proteger dados sensíveis em suas aplicações. Experimente modificar o código para experimentar com diferentes algoritmos de criptografia e opções de entrada do usuário para criar um aplicativo mais robusto e versátil.

0 comments:

Postar um comentário

Copyright © Blog do KDS By
Scroll To Top