RSA加密,java加密,Crypto++(c++)不能解开

hc_z 2016-12-05 05:16:42
现象:java rsa加密后,用其他的语言的库可以解开。
但是, C++用Crypto++解密失败。
感觉Crypto++要求的密文格式不是标准的,我看了一下,是16进制的字符,我把java生成的密文按这种格式变化后让Crypto++解密,还是不能成功。

请问有遇到这种情况的同学吗?有知道原因的,求知道。
非常感谢,在线等~~~
...全文
281 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hc_z 2016-12-06
  • 打赏
  • 举报
回复
to fangmingshijie : 能讲详细点吗? 谢谢了。
  • 打赏
  • 举报
回复
应该是填充方式不一致吧?
hc_z 2016-12-05
  • 打赏
  • 举报
回复
to soton_dolphin , java端加密是成功的,base64编码后C++端也不能解密的。
soton_dolphin 2016-12-05
  • 打赏
  • 举报
回复
从网上抄的 返回 byte[] 并且用 Base64 编码: public static byte[] encryptRSA(String str, PublicKey pubKey) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException, NoSuchProviderException { Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC"); cipher.init(Cipher.ENCRYPT_MODE, pubKey); return cipher.doFinal(str.getBytes()); } String cipher = Base64.getEncoder().encodeToString(Encryption.encryptRSA("0123456789ABCDEF", pubKeyk));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧