java rsa解密失败,Android RSA解密(失败)/服务器端加密(openssl_public_encrypt)

我试图使用我的设备上生成的RSA密钥解密我的Android应用程序中的字符串 . 加密是由php服务完成的,使用我的应用程序提供的public rsa密钥 . 我的问题是解密,但失败了 .

我正在做以下事情:

在Android上生成KeyPair(使用KeyPairGenerator.getInstance(“RSA”)) - >确定

使用Base64.encode(pubKey.getEncoded())编码“base64”后,两个密钥(公共和私有)都保存到文件中,并且与私钥相同 . - >好的

当我调用我的webservice时,我在一个post变量中传递我的公钥(在base 64中) - > OK

Web服务(php服务)使用公钥来加密短字符串,使用openssl_public_encrypt函数 . 加密的字符串将转换为base64 . - >好像,函数不返回FALSE .

应用程序检索服务的结果,并对其进行解码(Base64.decode()) - >确定(我已检查,收到的字节与openssl_public_encrypt()函数生成的字节匹配)

最后一件事是解密这个字符串,我正在做以下事情: - >不行

密码密码= Cipher.getInstance(“RSA”);

cipher.init(Cipher.DECRYPT_MODE,privateKey);

byte [] decryptedBytes = cipher.doFinal(cryptedBytes);

String decryptedString = new String(decryptedBytes);

的System.out.println(decryptedString);

解密的结果与我的原始字符串不匹配 .

我错过了什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值