Copie el código de código de la siguiente manera:
importar java.security.Key;
importar java.security.SecureRandom;
importar java.security.spec.AlgorithmParameterSpec;
importar javax.crypto.Cipher;
importar javax.crypto.SecretKeyFactory;
importar javax.crypto.spec.DESKeySpec;
importar javax.crypto.spec.IvParameterSpec;
importar org.apache.commons.logging.Log;
importar org.apache.commons.logging.LogFactory;
clase pública Des
{
Cadena final estática pública ALGORITHM_DES = "DES/CBC/PKCS5Padding";
Registro estático privado = LogFactory.getLog(Des.class);
/**
* Algoritmo DES, cifrado
*
* @param cadena de datos a cifrar
* @param key Clave privada de cifrado, la longitud no puede ser inferior a 8 bits
* @return Matriz de bytes cifrada, generalmente utilizada en combinación con codificación Base64
* @throws excepción CryptException
*/
La codificación de cadena estática pública (clave de cadena, datos de cadena) arroja una excepción
{
devolver codificación (clave, datos.getBytes());
}
/**
* Algoritmo DES, cifrado
*
* @param cadena de datos a cifrar
* @param key Clave privada de cifrado, la longitud no puede ser inferior a 8 bits
* @return Matriz de bytes cifrada, generalmente utilizada en combinación con codificación Base64
* @throws excepción CryptException
*/
La codificación de cadena estática pública (clave de cadena, datos de byte []) arroja una excepción
{
intentar
{
DESKeySpec dks = nueva DESKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
//La longitud de la clave no puede ser inferior a 8 bytes
Clave secretKey = keyFactory.generateSecret(dks);
Cifrado cifrado = Cipher.getInstance(ALGORITHM_DES);
IvParameterSpec iv = nuevo IvParameterSpec("*******".getBytes());
AlgorithmParameterSpec paramSpec = iv;
cifrado.init(Cipher.ENCRYPT_MODE, clavesecreta,especificaciónparam);
byte[] bytes = cifrado.doFinal(datos);
devolver Base64.encode (bytes);
} captura (Excepción e)
{
lanzar nueva excepción (e);
}
}
/**
* Algoritmo DES, descifrado
*
* @param cadena de datos a descifrar
* @param key Clave privada de descifrado, la longitud no puede ser inferior a 8 bits
* @return matriz de bytes descifrados
* @throws Excepción excepción
*/
byte [] decodificación estática pública (clave de cadena, datos de byte []) arroja una excepción
{
intentar
{
SecureRandom sr = nuevo SecureRandom();
DESKeySpec dks = nueva DESKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
//La longitud de la clave no puede ser inferior a 8 bytes
Clave secretKey = keyFactory.generateSecret(dks);
Cifrado cifrado = Cipher.getInstance(ALGORITHM_DES);
IvParameterSpec iv = nuevo IvParameterSpec("*******".getBytes());
AlgorithmParameterSpec paramSpec = iv;
cifrado.init(Cipher.DECRYPT_MODE, clavesecreta,especificaciónparam);
devolver cifrado.doFinal(datos);
} captura (Excepción e)
{
// e.printStackTrace();
lanzar nueva excepción (e);
}
}
/**
* Obtener el valor codificado
* clave @param
* @param datos
* @devolver
* @throwsException
* @throwsException
*/
Cadena estática pública decodeValue (clave de cadena, datos de cadena) arroja una excepción
{
byte[] datos;
Valor de cadena = nulo;
datos = decodificar (clave, Base64.decode (datos));
valor = nueva cadena (datos);
si (valor.equals("")){
lanzar nueva excepción();
}
valor de retorno;
}
}