本帖最后由 gwrc_s_d_n 于 2013-08-12 10:20:07 编辑

解决方案 »

  1.   

    HttpClient::quickPost 这个是哪家函数?一般base64之后可以,之前不可以,多数是原来的数据含有控制字符(不可视),然后以字符串方式传递引起字节丢失,应改为字节方式传递,具体看你所用模块的说明,偶也不怎么晓得openssl
      

  2.   

    HttpClient::quickPost  我下的版本里有啊,只不过不是静态的,我改成了静态的而已。实在不明白,
    假如说是传输问题,我在传输前把加密数据base64编码了呀,应该不会有控制字符呀。
    假如说openssl rsa不能对json字符串加密,但我再客户端解密是正常的呀?
      

  3.   

    http协议会对post的数据编码,服务器端先要对post数据解码,然后再解密吧
      

  4.   

    貌似http不会对post编码,就是一串类似get传值那种字符串而已。看发送的http请求包就知道了
      

  5.   

    是否需要 base64 是算法决定的,而不是麻不麻烦的事情
    你应该跟踪每一步的计算结果,以便确定是否是你哪里没弄对至少 json_encode 后的 json 串中含有大量的双引号,你如何就知道不会影响加密算法呢
      

  6.   


    当然会编码,urlencode啊.大于127的都会被编码。
      

  7.   

    为啥base64后没问题,base64后都是<127的,不受urlencode影响.
      

  8.   

    楼上还是没理解我的意思,我是说加密base64编码的json字符串可以,直接加密json串就不可以。至于传输前,肯定是要编码的
      

  9.   

    似http不会对post编码,就是一串类似get传值那种字符串而已。看发送的http请求包就知道了
      

  10.   

    通过base64加密一次,接受的时候,再base64一次,和传输的介质应该没有问题