这里写问题描述
做一个数据同步 同步的返回数据需要 sm2算法加密 这个算法是中国的
php 没有这个算法 要自己写
人家给了个示例 示例是java的
我看了网上有几种处理
第一种是 直接调用 linux 命令 返回结果 这个我不会
第二种是 自己打包扩展 这有一个 https://gitee.com/state-secret-series/openssl-ext-sm2
没研究 又怕整好了之后 算出来的 又签名不一致
第三种是 直接安装一个 java服务 用他们示例代码 放到一个服务器上面 用php 先整理好要计算的数据 curl 请求 127.0.0.1:xxx(和php再同一台机器上java服务) 然后java算完了 返回来 加密的字符串
php 返回 nginx 返回浏览器 这种肯定能行(感觉不够效率,一个java太占服务器内存 就干这点事)
有没有 做过 sm2 算法 直接 引入就能用的
有没有大佬之前有做过的经历 有没有更好的方法
php 不知道咋实现 用 lpilp/guomi 和java 的算法 不一样 JAVA加密出来的字符串是 04XX.... 开头的
php 那个包加密出来的 都不是 04开头的 加密出来的 java解密不了 java加密出来的 php解密不了
最终我是用 java springboot 把那个加密算法 搭建出来 然后php把要加密的数据 请求java那个加密 然后返回 加密的数据
正在钻研lpilp/guomi中, 看到大佬这说的, 我心凉凉了
可以正常使用的,看下源码,它里面是有参数去掉04和不去04的
不用涼,看文檔,人家有寫明04和c1c3c2的問題如何處理,甚至demo也給了....
lpilp/guomi包不好用,java使用的也是C1C2C3,无法验证通过
请问解决了吗
https://github.com/lpilp/simplesm2
可以参考一下