>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Código Java para Criptografia AES 256

Criptografia fornece um dos melhores métodos para proteger dados digitais. Criptografia permite ao usuário ofuscar dados através de um código que só pode ser descriptografado pelo usuário ou outros indivíduos confiáveis. Não surpreendentemente, linguagens de programação como Java, usadas para gerenciar tráfego de rede e interfaces de rede, têm bibliotecas integradas para suportar criptografia de dados. Muitos padrões de criptografia existem nas bibliotecas Java, incluindo o padrão AES 256.

Criptografia AES

O Advanced Encryption Standard foi estabelecido em 2002 pelo National Institute of Standards and Technology como padrão para criptografia de dados. Criptografia AES usa o algoritmo de criptografia Rijndael, que envolve métodos de substituição e permutação para criar dados criptografados a partir de uma mensagem. Padrões AES são amplamente usados para criptografia por empresas e governos. Implementação pode ser complexa para aqueles não familiarizados com criptografia, mas muitas linguagens de programação, incluindo Java, incluem bibliotecas que tornam tecnologia de criptografia prontamente disponível para usuários.

Criptografia de 256 bits

Ao criptografar mensagens, uma "chave" é gerada. Na maioria dos esquemas de criptografia pública, chaves públicas e privadas trabalham juntas para garantir que usuários possam compartilhar dados criptografados. AES 256 é um algoritmo de chave simétrica, significando que a mesma chave criptografa e descriptografa a mensagem. A chave em questão será representada em 256 bits, significando que alguém tentando invadir a mensagem teria que descobrir o valor da chave de 256 bits. A tecnologia para decifrar uma chave de 256 bits em tempo razoável ainda não foi inventada.

Bibliotecas Java AES 256

A Java Encryption API criptografa mensagens e cria chaves para o programador através de interface com métodos de classe de criptografia. Programadores criam mensagem para criptografar, importam as bibliotecas de criptografia adequadas, e então usam os métodos nessas bibliotecas para especificar método de criptografia, gerar chaves e criptografar a mensagem. As bibliotecas de criptografia também contêm formas de decodificar mensagens criptografadas usando a mesma chave de criptografia.

Exemplos

Um exemplo simples de codificação Java mostra como usar bibliotecas de criptografia com especificação AES 256. O seguinte mostra como criar objetos de criptografia, chave e cipher em Java para criptografar uma mensagem:

import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.io.*;

class Encrypt {
public static void main(String[] args) throws Exception {

String message="Mensagem para Decodificar";

KeyGenerator key = KeyGenerator.getInstance("AES");
key.init(256);

SecretKey s = key.generateKey();
byte[] raw = s.getEncoded();

SecretKeySpec sskey= new SecretKeySpec(raw, "AES");

Cipher c = Cipher.getInstance("AES");

cipher.init(Cipher.ENCRYPT_MODE, skey);

byte[] encrypted = c.doFinal(message.getBytes());
System.out.println("string criptografada: " + asHex(encrypted));

} }