Usando Criptografia em Java

NeeD

Membro
Registrado
Setembro 24, 2017
Mensagens
12
Pontos de reações
13
Idade
25
Hoje falaremos sobre criptografia. Há muitas histórias boas sobre isso e até filmes que mostram formas mirabolantes de criptografar e descriptografar dados. Aqui vamos aprender o básico sobre essa arte de esconder os dados sigilosos dos nossos sistemas.

http://www.feltex.com.*********/felix/wp-content/uploads/2014/11/Criptografia.png
Código de exemplo

No exemplo abaixo mostramos como criptografar e depois descriptografar um texto qualquer.

Código:
package JCEEncryption;

import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;

public class JCEEncryption {

public static void main(String[] argv) {

try {
KeyGenerator gerador = KeyGenerator.getInstance("DES");
SecretKey chaveDES = gerador.generateKey();

Cipher desCipher;

//Criação do cipher que conterá os objetos de criptografia
desCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");

// Iniciando cipher para criptografia
desCipher.init(Cipher.ENCRYPT_MODE, chaveDES);

//Dados a serem cripografados
byte[] mensagemOriginal = "Mensagem oculta!".getBytes();

System.out.println("Conteúdo byte: " + mensagemOriginal);
System.out.println("Conteúdo texto: " + new String(mensagemOriginal));

// Excriptando os dados
byte[] mensagemCriptografada = desCipher.doFinal(mensagemOriginal);

System.out.println("Conteúdo criptografado : " + mensagemCriptografada);

// Iniciando o chipher para realizar a descriptografia
desCipher.init(Cipher.DECRYPT_MODE, chaveDES);

// Texto a ser descriptografado
byte[] textoDescriptografado = desCipher.doFinal(mensagemCriptografada);

System.out.println("Texto Descriptografado: " + new String(textoDescriptografado));

} catch (NoSuchAlgorithmException e) {
System.err.println("Não foi possível localizar o algorítmo de criptografia!" + e.getMessage());
} catch (NoSuchPaddingException e) {
System.err.println("O mecanismo de preenchimento solicitado não existe no ambiente (Sistema Operacional)!" + e.getMessage());
} catch (InvalidKeyException e) {
System.err.println("Chave inválida!" + e.getMessage());
} catch (IllegalBlockSizeException e) {
System.err.println("Tamanho do bloco da mensagem inválido!" + e.getMessage());
} catch (BadPaddingException e) {
System.err.println("Preenchimento incorreto de dados!" + e.getMessage());
}
}
}
Resultado:




Conclusão

Então amigos. Essa é uma das formas que podemos criptografar dados. Em alguns sistemas existem dados sensíveis que precisamos armazenar em bases de dados e depois devemos recuperá-los e exibir para os usuários. Esta é uma das formas! E por hoje é só! Vida que segue.
 

Membros que estão visualizando este tópico (Total: 1, membros: 0, visitantes: 1)

Topo