各位大侠们,小弟,在用java jce 使用RSA算法生成了序列化的public_key.dat 文件和 private_key.dat文件,并且使用 AES 算法生成了序列化的key.dat文件,现在,想用public_key.dat文件加密序列化的key.dat文件,加密后的文件记为encry_key.dat,之后在用private_key.dat文件解密encry_key.dat,解密后的文件记为 copy_key.dat,现在想要的结果为原序列化的key.dat文件和 生成的copy_key.dat一样,但就是达不到结果,请高人们指点下..
其实本人也想了很多办法,关键在于byte 数组如何 转化为SecretKey类型的 对象,但要是有好的解决办法,希望得到高人的指点..谢谢..
------解决方案--------------------------------------------------------
解密的时候将这个byte数组解密 得到的是Object的流 然后通过ByteArrayInputStream 和 ObjectInputStream读取成对象
下面给你个大致流程 中间加密解密你处理下应该就O了
- Java code
String deskey = "aaa"; ByteArrayOutputStream key_file_out = new ByteArrayOutputStream (); ObjectOutputStream key_object_out = new ObjectOutputStream(key_file_out); key_object_out.writeObject(deskey); byte[] a =(key_file_out.toByteArray()); ByteArrayInputStream input = new ByteArrayInputStream(a); ObjectInputStream obj = new ObjectInputStream(input); String s =(String) obj.readObject(); System.out.println(s);