java 使用非对称的RSA 的公私钥 如何 加/解密 对称AES的密钥key.dat文件
各位大侠们,小弟,在用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);