Mi consulta es la siquiente estoy tratando de cifrar un archivo con 3DES(TripleDes) he encontrado ejemplos de como se hace esto con cadenas de texto y funcionan, pero me entro la duda que pasa si es un archivo el que deseo cifrar, no he encontrado ejemplos en la web a ecepcion de este:
Ya lo probe y parece hacer la encritacion bien pero al momento de desencritar me devuelve 0 talvez puedan ayudarme, u orientarme. Saludos.
Esta es la parte de cifrar.
Código
public class Encryptor { try { byte[] fileByteArray = new byte[fileInputStream.available()]; fileInputStream.read(fileByteArray); for (byte b : fileByteArray) { } SecretKey secretKey = getKey(keyString); Cipher cipher = Cipher.getInstance(algorithm); cipher.init(Cipher.ENCRYPT_MODE, secretKey); (new CipherOutputStream ("D:/Secret.file"), cipher)); objectOutputStream.writeObject(fileByteArray); objectOutputStream.close(); e.printStackTrace(); } } byte[] digestOfPassword = messageToUpperCase.getBytes(); SecretKey key = new SecretKeySpec(keyBytes, "DESede"); return key; } }
Esta es descifrar
Código
public class Decryptor { try { SecretKey secretKey = getKey(keyString); Cipher cipher = Cipher.getInstance(algorithm); cipher.init(Cipher.DECRYPT_MODE, secretKey); (new CipherInputStream(fileInputStream, cipher)); while (objectInputStream.available() != 0) { } fileOutputStream.flush(); fileOutputStream.close(); fileInputStream.close(); objectInputStream.close(); e.printStackTrace(); } } byte[] digestOfPassword = messageToUpperCase.getBytes(); SecretKey key = new SecretKeySpec(keyBytes, "DESede"); return key; } }