admin管理员组文章数量:1794759
php调用java本地jar包(sm2)
前言
需要使用到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就完成了
版权声明:本文标题:php调用java本地jar包(sm2) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687021517a129182.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论