由于跟第三方对接过程中,发现php本地加密的结果一直跟java的本地环境结果一直不同,最后想到了一个办法,就是服务器上调取本地java服务加解密,不考虑线程跟并发的情况,仅让业务调整。
java本地服务,仅需要设定路由及端口即可
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
logger.info("加密微服务");
}
@RequestMapping("/") //路由设置
public String Mt(@RequestParam(value = "req") String req)
{
//Logger LOG = LoggerFactory.getLogger(Demo.class);
// 加密
// 1.存管公钥加密key
// 2.p2p私钥签名
// 3.key加密发送内容
String reqData = req;
logger.info("本地php请求的内容reqData>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+reqData);
String str = P2PMessageUtils.getEncryptContent(reqData);
logger.info("加密后内容str>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+str);
String info = sendPost("http://xxx.xxx.xx.xx:xxx/", str);//请求三方
logger.info("通讯后返回内容info>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+info);
String string = P2PMessageUtils.getDecryptContent(info);
logger.info("通讯后解密返回内容string>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+string);
System.err.println(string);
return string;
}
php 调取本地127.0.0.1:xxx端口即可