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 算法 直接 引入就能用的

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

1291 2 3
2个回答

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

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

  • ahulxt 2024-08-15

    正在钻研lpilp/guomi中, 看到大佬这说的, 我心凉凉了

  • tang23 2024-08-27

    可以正常使用的,看下源码,它里面是有参数去掉04和不去04的

  • MarkGo 2024-08-28

    不用涼,看文檔,人家有寫明04和c1c3c2的問題如何處理,甚至demo也給了....

  • branii 2024-11-15

    lpilp/guomi包不好用,java使用的也是C1C2C3,无法验证通过

  • branii 2024-11-15

    请问解决了吗

释永战
  • 暂无评论
×
🔝