Buenas,
Resulta que necesito desencriptar una contraseña que recupero de un servidor en una aplicación Java, buscando por ahí he descubierto que el lenguaje incorpora algunas librerías propias para ello, y que su implementación debería ser tal que así:
byte[] sessionKey = null; //Where you get this from is beyond the scope of this post
byte[] iv = null ; //Ditto
byte[] plaintext = null; //Whatever you want to encrypt/decrypt
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
//You can use ENCRYPT_MODE or DECRYPT_MODE
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(sessionKey, "AES"), new IvParameterSpec(iv));
byte[] ciphertext = cipher.doFinal(plaintext);
Muy bonito pero no entiendo la mitad del código, sabría alguien decirme que son el parámetro 'sessionKey' y 'iv'? Y por otro lado, lo que recupero del servidor es una cadena de carácteres no un tipo byte con lo cual no puedo ponerlo dentro del 'plaintext', y no, no puedo cambiar el tipo a String porque el método doFinal() no acepta String como parámetros de entrada, sólo byte.
Gracias de antebrazo :S