`
heaven__18
  • 浏览: 29855 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

客户端和php服务器通信rsa加密解密

阅读更多

这几天在做一个项目,需要使用到rsa加密解密,使用php公钥加密后,返回给手机客户端解密。同样的,客户端提交给服务器的数据也要经过加密。我们在联调的时候发现,php加密后,手机客户端可以解密,而手机客户端加密后的数据,php解密后返回空。


鉴于这种情况,我们怀疑是因为rsa加密后的数据是Binary类型,显示为乱码,可能在post过程中出现问题,所以我们将各自加密后的数据存进文件中,然后再交换解密。结果成功了,这就证明了确实是在通信过程中出现的问题。


于是我们对加密后的数据进行了base64编码,由于编码后可能会出现一些如“+”、“&”之类http无法解析的字符,所以还要再进行urlencode。于是,新的问题出现了,android客户端提交过来的数据,服务器可以成功解密,而iphone客户端却始终不行,经过比较之后,终于发现android客户端提交过来的数据,服务器不会自动urldecode解码,而iphone已经自动解码过了。于是,我们增加了一个参数判断客户端类型,然后选择是否进行urldecode解码,终于成功了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics