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

Configurando um Roteador MikroTik para Duas Redes VLAN

Introdução Os roteadores MikroTik oferecem uma ampla gama de recursos poderosos, incluindo suporte para redes VLAN (Virtual Local Area Network). Configurar VLANs permite segmentar uma rede física em várias redes virtuais, proporcionando maior segurança e eficiência na gestão de recursos. Neste artigo, vamos abordar o processo de configuração de um roteador MikroTik para suportar duas redes VLAN distintas. Pré-requisitos Antes de começar, certifique-se de ter acesso ao roteador MikroTik e de estar familiarizado com a interface web do mesmo. Certifique-se também de ter um entendimento básico de redes e VLANs. Passos para Configuração Passo 1: Acessando a Interface do Roteador Abra um navegador web e insira o endereço IP do roteador MikroTik na barra de endereços. O endereço padrão geralmente é 192.168.88.1 . Faça login com as credenciais adequadas. Passo 2: Criando VLANs No menu à esquerda, vá para "Interfaces" e, em seguida, "VLAN". Clique no botão "+" para

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

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