Java - Encriptar Archivos

   
Vista:

Encriptar Archivos

Publicado por Luz Sabina Martínez (3 intervenciones) el 11/06/2009 17:43:56
Hola Compañeros!!

Tengo un gran problema, necesito encriptar archivos y desencriparlos, ene l internet encontré un código para hacer eso, pero mi problema es que ya no desencripta, alguien me podría ayudar con eso, aquí les anexo el código para que le hechen un ojo y si me pueden ayudar a resolver mi problema se los agradecería.

Saludos.

package ejemplos;

import java.io.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
import java.security.spec.*;
import java.util.*;

public class EncryptTest {

public static void main(String args[]) {

File desFile = new File("D:\Desarrollo\Ejemplos\Ejemplos\uno.xls");

// Create data to encrypt
Map map = new TreeMap(System.getProperties());
int number = map.size();

try {

// Create Key
KeyGenerator kg = KeyGenerator.getInstance("DES");
SecretKey secretKey = kg.generateKey();

// Create Cipher
Cipher desCipher =
Cipher.getInstance("DES/ECB/PKCS5Padding");
desCipher.init(Cipher.ENCRYPT_MODE, secretKey);

// Create stream
FileOutputStream fos = new FileOutputStream(desFile);
BufferedOutputStream bos = new BufferedOutputStream(fos);
CipherOutputStream cos = new CipherOutputStream(bos, desCipher);
ObjectOutputStream oos = new ObjectOutputStream(cos);

// Write objects
oos.writeObject(map);
oos.writeInt(number);
//oos.flush();
oos.close();

// Change cipher mode
desCipher.init(Cipher.DECRYPT_MODE, secretKey);

// Create stream
FileInputStream fis = new FileInputStream(desFile);
BufferedInputStream bis = new BufferedInputStream(fis);
CipherInputStream cis = new CipherInputStream(bis, desCipher);
ObjectInputStream ois = new ObjectInputStream(cis);

// Write objects
//ois.reset();
//ois.close();

// Read objects
Map map2 = (Map)ois.readObject();
int number2 = ois.readInt();
ois.close();

// Compare original with what was read back
if (map.equals(map2) && (map.size() == number2)) {
System.out.println("Everything read back out okay.");
} else {
System.out.println("Problems during encryption/decryption process.");
}
} catch (NoSuchPaddingException e) {
System.err.println("Padding problem: " + e);
} catch (NoSuchAlgorithmException e) {
System.err.println("Invalid algorithm: " + e);
} catch (InvalidKeyException e) {
System.err.println("Invalid key: " + e);
} catch (IOException e) {
System.err.println("I/O Problem: " + e);
} catch (ClassNotFoundException e) {
System.err.println("Class loading Problem: " + e);
} finally {
if (desFile.exists()) {
//desFile.delete();
}
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Encriptar Archivos

Publicado por James (207 intervenciones) el 12/06/2009 09:28:55
Perdon por no revisar el codigo pero de esos ya he visto muchos y tratare de responder mas por experiencias que puntualmente, en todo caso puede ser incorrecta mi apreciacion.

cuando tu encriptas lo comun es que mandes a generar una clave de encriptacion con la cual se trabajo todo el proceso, el error suele estar en que al desencriptar generas una nueva clave(no tiene x que ser igual) entonces aunque el dato sea el mismo que el encriptado no lo desencriptara pues la clave que usa para desencriptacion no es la misma con la que encripto, Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Encriptar Archivos

Publicado por Luz Sabina Martínez (3 intervenciones) el 12/06/2009 17:29:34
Ok, si muchas gracias, ya encontré mi error, muy amable, una pregunta tu has encriptado utilizando el software de LIta?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encriptar Archivos

Publicado por James (207 intervenciones) el 12/06/2009 19:30:07
La verdad no. es la primera ves que lo escucho, hace un tiempo buscaba formas y software para encriptar hasta que me decidi desarrollar mi propio algoritmo (luego crecio y se convirtio en una libreria) basado en RCA un tanto complejo pero creo que bastante seguro, lo uso yo y lo he vendido a varias empresas(incluida en la que trabajo) y no ha pasado nada, con el tiempo he ido mejorando la cosa, ya encripta a varios niveles tambien crea firmas digitales y demas tipicas necesidades, la verdad nunca confio mucho en cosas echas por terceros a menos que este totalmente seguro y respaldado, sin embargo depende de en que lo apliques si crees que funciona y lo has revisado usalo, si requieres verdadera seguridad pues desarrolla un metodo o busca uno que este fuertemente respaldado, Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encriptar Archivos

Publicado por Nahum (2 intervenciones) el 11/03/2016 01:08:39
Hola amigo, estoy buscando usar el mismo código, podrías compartir cómo resolviste el error? gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar