Analisis Numerico

ALGORITMO DE ENCRIPTACION AES

Hemos desarrollado un programa que utiliza este algoritmo para encriptar y desencriptar datos, se utiliza una  clave de cifrado de 128 bits y esta basado en un algoritmo encontrado aqui.

La clase que implementa este algoritmo es la siguiente:

package modelo;

import java.security.*;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.*;

public class AlgoritmoAES {

 private byte[] keyValue;

 public AlgoritmoAES(byte[] password) {
 keyValue = password;
 }
 private static String ALGORITHM = "AES";

 public String encriptar(String valorEncriptar) throws Exception {
 Key clave = generarClave();
 Cipher c = Cipher.getInstance(ALGORITHM);
 c.init(Cipher.ENCRYPT_MODE, clave);
 byte[] encValor = c.doFinal(valorEncriptar.getBytes());
 String valorEncriptado = new BASE64Encoder().encode(encValor);
 return valorEncriptado;
 }

 public String desencriptar(String valorEncriptado) throws Exception {
 Key clave = generarClave();
 Cipher c = Cipher.getInstance(ALGORITHM);
 c.init(Cipher.DECRYPT_MODE, clave);
 byte[] valorDecodificado = new BASE64Decoder().decodeBuffer(valorEncriptado);
 byte[] decValor = c.doFinal(valorDecodificado);
 String valorDesencriptado = new String(decValor);
 return valorDesencriptado;
 }

 private Key generarClave() throws Exception {
 Key clave = new SecretKeySpec(keyValue, ALGORITHM);
 return clave;
 }

}

El programa completo lo pueden descargar desde aqui

Anuncios

Un comentario en “ALGORITMO DE ENCRIPTACION AES

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s