Anteriormente, habíamos visto un mecanismo para encriptar contraseñas y convertir el texto encriptado en una cadena almacenable en una base de datos o fichero sin problemas de codificación, mediante el API estandar de Java.
Veamos ahora cómo sería el proceso inverso:
String cadena = "WZMLNsMJeI2PDCPuWudVucLfRyQlffqA" + "1yYKWLOLuCv2SzIcw0Aegh6w3o6FjQ3T"; String semilla = "0123456789"; String cadenaDesencriptada = null; String tmp = new String( ( semilla.trim().concat("99999999") ).substring(0, 8 ) ); byte[] claveDesc = new BASE64Decoder().decodeBuffer( cadena ); SecretKeySpec desKey = new SecretKeySpec( tmp.getBytes(), "DES"); Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, desKey); cadenaDesencriptada = new String(cipher.doFinal(claveDesc));
Tras ejecutar el anterior código, obtendríamos la cadena original "No se a quien odio más, a Batman o a Guti" dentro de la variable cadenaDesencriptada.
Evidentemente, todo el código del ejemplo habrá que incluirlo dentro del correspondiente bloque try-catch y realizar la gestión de excepciones adecuada según nuestra aplicación.
Ver artículo: Encriptar una cadena en Java
No hay comentarios:
Publicar un comentario