当前位置: 代码迷 >> Java相关 >> java 使用非对称的RSA 的公私钥 怎么 加/解密 对称AES的密钥key.dat文件
  详细解决方案

java 使用非对称的RSA 的公私钥 怎么 加/解密 对称AES的密钥key.dat文件

热度:10720   发布时间:2013-02-25 21:52:05.0
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);
  相关解决方案