涉及到别人的代码问题,故删掉了源代码
2 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
粗略看了一下,关键就三个东西RSABase64gzip把这三个的php库找到就完事了整理一下这个程序的流程:将字符串参数data转为JSON对象,使用变量json接收结果;将json["d_head"]使用BASE64解码,使用变量ecryptData(讲道理应该是“encrypt”吧?)接收结果;将ecryptData使用RSA算法解密,使用变量datas接收;将datas使用gzip解压,使用变量b3接收;将b3从byteArray转为T类型的对象,使用变量obj接收;返回obj。你要做的是把上面的每一步都分别用php实现,而不是试图同时用php实现上面的所有步骤的总和。实现的时候,你可以将java版的算法的每一步的存储运算结果的变量,json、ecryptData、datas、b3和obj打印出来,如果你实现的php版的算法的对于相同的输入,每一步的输出都和java版的一样,那才算是重现成功了。你说你无法解压,那原因可能有两个:解压之前的步骤(步骤1、步骤2和步骤3)的结果(json、ecryptData和datas)不正确;你的解压算法和java版的解压算法有差异。你只要保证,对于相同的输入,你实现的php版本的算法得到的datas和java版本的算法得到的datas完全一致,且你实现的php版本的算法使用的解压算法和java版本的算法使用的解压函数行为完全一致,解压的这一步就绝对不会出错,且解压后得到结果也是正确的。
添加回答
举报
0/150
提交
取消