1 Star 10 Fork 3

dylovedz / phpsm2sm3sm4

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

php sm2 sm3 sm4 国密算法整理

  • php版本的国密sm2的签名算法,sm3的hash, sm4的ecb加解密,要求PHP7,打开gmp支持
  • 目前如果服务器配套的使用的是openssl 1.1.1x, 目前到1.1.1k ,sm3,sm4都可以直接用openssl_xxx系列函数直接实现,不必大量的代码,但不支持sm2的签名,sm2的加解密

SM2

  • 该算法主体基于PHPECC算法架构,添加了sm2的椭圆参数算法,
  • 参考了 https://github.com/ToAnyWhere/phpsm2 童鞋的sm2验签算法,密钥生成算法
  • 添加了签名算法, 支持sm2的16进制,base64公私钥的签名,验签算法
  • 支持从文件中读取pem文件的签名,验签算法
  • sm2的加密解密算法在openssl 1.1.1的版本下自带的函数中暂无sm2的公钥私钥的加密函数,得自己实现,建议使用C,C++的算法,打包成PHP扩展的方式
  • 由于 openssl没有实现sm2withsm3算法,用系统函数无法实现签名及证书的自签名分发

SM3

SM4

  • 该算法直接使用 https://github.com/yinfany/sm 童鞋的sm4算法
  • 只实现了ecb算法,没有实现cbc算法
  • 在openssl 1.1.1下可使用系统的函数,已支持sm4-cbc,sm4-cfb,sm4-ctr,sm4-ecb,sm4-ofb, 详见openssl_tsm4.php

注意

  • mdanter/ecc 仓库已经把国密算法去掉
  • composer安装之后复制本仓库mdanter/ecc下的src覆盖vendor下mdanter/ecc的src即可

总结

空文件

简介

php 国密算法 支持 m2 sm3 sm4 SM3WithSM2签名 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/dylovedz/phpsm2sm3sm4.git
git@gitee.com:dylovedz/phpsm2sm3sm4.git
dylovedz
phpsm2sm3sm4
phpsm2sm3sm4
master

搜索帮助