Soy nuevo en el cifrado.cifrado de Java alternitivo a la clave codificada
He mirado en la documentación javax.crypto y consiguió el cifrado de un archivo para trabajar con este código ...
File saveFile = new File("Settings.set");
saveFile.delete();
FileOutputStream fout = new FileOutputStream(saveFile);
//Encrypt the settings
//Generate a key
byte key[] = "My Encryption Key98".getBytes();
DESKeySpec desKeySpec = new DESKeySpec(key);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey skey = keyFactory.generateSecret(desKeySpec);
//Prepare the encrypter
Cipher ecipher = Cipher.getInstance("DES");
ecipher.init(Cipher.ENCRYPT_MODE, skey);
// Seal (encrypt) the object
SealedObject so = new SealedObject(this, ecipher);
ObjectOutputStream o = new ObjectOutputStream(fout);
o.writeObject(so);
o.close();
Sin embargo, si usted fuera un hacker inteligente (o tal vez incluso de aficionados desde que cuenta de esto fuera), todo lo que tendría que hacer es abrir el archivo de clase que contiene este código, y la clave de cifrado (Mi clave de cifrado98) es claramente visible.
¿Cómo cifras la clave de cifrado? ... jaja ... ¿puedes?
Gracias por su ayuda!
Como nota lateral, puede que desee rediseñar su 'Cipher. getInstance ("DES") 'llamada al método: http://stackoverflow.com/questions/3180878/exception-in-es-decryption-algorithm-in-java/3181250#3181250 –