php调用java本地jar包(sm2)

本文介绍了如何在PHP中调用Java实现的SM2算法,由于客户仅提供了Java版jar包,作者选择了通过封装jar并使用PHP的exec函数来执行java -jar命令。详细过程包括思考调用方式、封装jar、打包以及PHP调用Java jar的步骤。
摘要由CSDN通过智能技术生成

前言

需要使用到sm2算法,但是客户只提供了sm2的java版本,网上也了解了一下这个算法,看的也是蒙的。也在github上找到了相关php实现sm2的代码,但是测试总是和客户发送的jar包对不上。想的是干脆直接调用客户发过来的jar算了。

思考

调用方式一般容易想到的就是两种:

  • 直接使用php的exec或者其他能够调用shell命令的函数执行 java -jar jar包,这种需要将客户发送过来的jar进行一次封装。
  • 把客户的demo,做成一个对外的接口,让php发送curl请求来调用。

因为搭建web站点,比较耗费服务器性能,并且只是为了这么一个小的调用,浪费经历搭建,维护,监控。实在是没有必要。
因此选择了第一种方式。如果需要第二种的可以自己去尝试。
安装包截图如下:
在这里插入图片描述
都封装好了,只需要执行入口函数代码即可:
在这里插入图片描述
就是这么一个入口的Java文件,需要做一次封装。

封装jar

走过的坑:
最开始我直接用idea打开入口文件,并添加引用,本来想直接运行但是好像连run按钮都没有出来,
在这里插入图片描述
不晓得是为啥。
于是新建了一个Java项目,把代码拷贝过来,报错了,提示xxx不存在,一看就是类库jar没有找到,于是
添加依赖库:选择客户给的demo里面所有的jar依赖。
在这里插入图片描述
然后我们修改 代码把需要加密的内容通过命令行参数传进来,
在这里插入图片描述

打包

我们在菜单file–>project Structure中新建一个artifacts
在这里插入图片描述
配置如图:注意入口类的名称即可
在这里插入图片描述
点击确定后:勾选
在这里插入图片描述
然后build
在这里插入图片描述
完成之后会出现:
在这里插入图片描述
这时候我们来运行一下:

在这里插入图片描述

php调用

在这里插入图片描述
浏览器访问:
在这里插入图片描述

一个最简单的demo就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲不住的程序员

您的打赏将是我最大的鼓励感谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值