我对加密很陌生。Java加密与硬编码密钥交替使用
我已经看了看javax.crypto中的文档,并得到了文件中使用此代码工作的加密...
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();
但是如果你是一个聪明的黑客(或者也许因为我想通这甚至业余),你所要做的就是打开包含此代码的类文件,并且加密密钥(My Encryption Key98)清晰可见。
你如何加密加密密钥? ......大声笑...你能吗?
感谢您的帮助!
作为一个侧面说明,你可能需要重新设计你的'密码。 getInstance(“DES”)方法调用:http://stackoverflow.com/questions/3180878/exception-in-aes-decryption-algorithm-in-java/3181250#3181250 – 2010-07-06 16:37:36