Pular para o conteúdo principal

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.

Comentários

Postagens mais visitadas deste blog

Busca Binária e seus Principais Tipos em Java 8

A busca binária é um algoritmo de busca eficiente que opera em listas ordenadas, reduzindo o intervalo de busca pela metade a cada passo. Esse método é considerado uma das abordagens mais rápidas para encontrar um elemento em uma coleção de dados ordenada. Neste artigo, exploraremos a busca binária e alguns de seus principais tipos de implementação em Java 8.Fundamentos da Busca Binária A busca binária é baseada no conceito de dividir para conquistar. Ela é aplicável somente a listas ordenadas, onde o processo é repetido até que o elemento seja encontrado ou o intervalo de busca seja reduzido a zero. O algoritmo funciona da seguinte forma:Determine o índice do elemento médio da lista. Compare o elemento médio com o valor procurado. Se o elemento médio for igual ao valor procurado, a busca é concluída. Caso contrário, se o elemento médio for menor que o valor procurado, descarte a metade inferior da lista. Se for maior, descarte a metade superior. Repita os passos acima até encontrar o

Como criar um arquivo de lote (bat) para otimizar o Windows

Passo 1: Abra o Bloco de Notas Abra o Bloco de Notas no seu computador. Você pode fazer isso pesquisando por "Bloco de Notas" no menu Iniciar. Passo 2: Escreva o Script Digite ou cole o seguinte script no Bloco de Notas: batch Copy code @echo off echo Limpando arquivos temporários... del /q /s %temp%\*.* echo Limpando a Lixeira... rd /s /q C:\$Recycle.Bin echo Otimizando o disco... defrag C: /O echo Limpando histórico de execução... echo y | powercfg /h off echo Concluído! Reiniciando o computador... shutdown /r /t 5 Este script realiza algumas tarefas básicas de limpeza e otimização, como mencionado anteriormente. Passo 3: Salvar como arquivo .bat Clique em "Arquivo" no Bloco de Notas e escolha "Salvar Como". Escolha um local para salvar o arquivo e, no campo "Nome", digite um nome com a extensão ".bat" (por exemplo, otimizar_windows.bat ). Certifique-se de selecionar "Todos os arquivos" no campo "Salvar como tipo&qu

Introdução à Programação em Java com Chat GPT: Primeiros Passos e Exemplos de Código

Introdução: A programação em Java é uma das habilidades mais valorizadas no mundo da tecnologia. Neste artigo, vamos explorar os primeiros passos para programar em Java com a ajuda da inteligência artificial do Chat GPT. Você aprenderá conceitos básicos de programação e verá exemplos de código simples para construir seu conhecimento. Além disso, este artigo foi otimizado para os principais buscadores, como Google, Bing, Yahoo e Ask, para que você possa encontrá-lo facilmente e aproveitar todo o conteúdo. ## Por que aprender programação em Java? Java é uma linguagem de programação versátil e robusta, usada em uma ampla variedade de aplicativos, desde desenvolvimento de jogos até desenvolvimento de aplicativos empresariais. Com Java, é possível criar programas eficientes, seguros e portáteis, que podem ser executados em diferentes sistemas operacionais. Aprender Java abre portas para oportunidades de carreira emocionantes no campo da tecnologia. ## Chat GPT: Uma introdução O Chat GPT (Ge