Usando Criptografia em Java

Usando Criptografia em Java

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Usando Criptografia em Java

Olá amigos. 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.
Não percam também a seção de links onde indicamos mais lugares onde vocês podem continuar a estudar o assunto!

Criptografia

1. Código de exemplo

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package br.com.feltex.seguranca;
 
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());
			e.printStackTrace();
		} catch (NoSuchPaddingException e) {			
			System.err.println("O mecanismo de preenchimento solicitado não existe no ambiente (Sistema Operacional)!" + e.getMessage());			
			e.printStackTrace();
		} catch (InvalidKeyException e) {
			System.err.println("Chave inválida!" + e.getMessage());
			e.printStackTrace();
		} catch (IllegalBlockSizeException e) {
			System.err.println("Tamanho do bloco da mensagem inválido!" + e.getMessage());
			e.printStackTrace();
		} catch (BadPaddingException e) {
			System.err.println("Preenchimento incorreto de dados!" + e.getMessage());
			e.printStackTrace();
		}
	}
}

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.

Links relacionados

Para saber tudo sobre criptografia em Java

Exemplos de uso de criptografia

Configuração de acesso a console do servidor TOMCAT 8

Não se esqueça de curtir este post nas redes sociais. Dê a sua contribuição social e ajude o autor:

Deixe um comentário