1. Encriptación TripleDES. Construir un programa que tome como entrada una cadena y realice una encriptación utilizando el algoritmo TripleDES. Para ello hay que tener en cuenta que: el identificador del algoritmo es "TripleDES", la longitud de clave es de 168, y utiliza un padding PKCS5 con modo ECB. El fichero resultado se llamará Ejemplo1.java (ver la plantilla correspondiente).
Además, como salida hay que imprimir la clave codififcada. Para ello, haced uso del método getEncoded() de la interfaz SecretKey. Este método devuelve los bytes de la clave debidamente codificados.
2. Encriptación PBE. Tomando como base el ejemplo Ejercicio2.java:
a) ¿Qué ocurre si nos equivocamos al teclear el texto cifrado?. Modificar el ejemplo para que capture la excepción generada y emita un mensaje indicado al usuario el tipo de error. En general, hay capturar las excepciones del package javax.crypto relacionadas con el método doFinal() de la clase Cipher.Entregad el resultado en el Ejercicio2a.java.
b) Modificar el ejemplo Ejercicio2.java para el caso de que el salto ocupe solamente un byte. En dicho caso, supongamos que el password ha sido descubierto y que podemos leer el texto encriptado si conocemos el byte de salto. Suponemos que en el método encriptar() solamente se devuelve el texto encriptado en BASE64.
Modificar el método desencriptar() para que pruebe con todos los bytes posibles (en realidad solo 256 posibilidades) hasta que finalmente consiga desencriptar el texto. Entegad la modificación en el fichero Ejercicio2b.java