为了账号安全,请及时绑定邮箱和手机立即绑定

一个java的解密方法,如何用php实现啊,跪求大牛~

一个java的解密方法,如何用php实现啊,跪求大牛~

撒科打诨 2019-05-22 20:36:24
涉及到别人的代码问题,故删掉了源代码
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

粗略看了一下,关键就三个东西
RSA
Base64
gzip
把这三个的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版本的算法使用的解压函数行为完全一致,解压的这一步就绝对不会出错,且解压后得到结果也是正确的。
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 360 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信