SM2算法 php 怎么实现

这里写问题描述

做一个数据同步 同步的返回数据需要 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 算法 直接 引入就能用的

有没有大佬之前有做过的经历 有没有更好的方法

283 2 3
2个回答

北月
  • 10天前

    谢谢

  • ak47f16200 7天前

    openssl 1.1.1 应该已支持,可以试试

  • liziyu 6天前

    ak大佬正解,升级一下国密都支持,性能杠杠的。

php 不知道咋实现 用 lpilp/guomi 和java 的算法 不一样 JAVA加密出来的字符串是 04XX.... 开头的
php 那个包加密出来的 都不是 04开头的 加密出来的 java解密不了 java加密出来的 php解密不了

最终我是用 java springboot 把那个加密算法 搭建出来 然后php把要加密的数据 请求java那个加密 然后返回 加密的数据

  • 暂无评论
🔝