one-sm PHP 国密算法库开源项目

我要开发同款
匿名用户2021年02月03日
201阅读

技术信息

开源地址
https://gitee.com/vicself/sm
授权协议
Apache

作品详情

这是一个PHP国密算法库,支持:

sm3字符串签名文件签名sm4ecbcbc安装composerrequirelizhichao/oe-smSM3签名<?phprequire__DIR__.'/vedor/autoload.php';$sm3=ew\OeSm\Sm3();//字符串签名echo$sm3->sig('abc').PHP_EOL;echo$sm3->sig(str_repeat("adfas哈哈哈",100)).PHP_EOL;//文件签名echo$sm3->sigFile(__FILE__).PHP_EOL;性能测试和 opessl , SM3-PHP 性能测试

phpbech.php结果

opessl:4901d7181a1024b8c0f59b8d3c5c6d96b4b707ad10e8ebc8ece5dc49364a3067oe-sm3:4901d7181a1024b8c0f59b8d3c5c6d96b4b707ad10e8ebc8ece5dc49364a3067SM3-PHP:4901d7181a1024b8c0f59b8d3c5c6d96b4b707ad10e8ebc8ece5dc49364a3067opessltime:6.3741207122803msoe-sm3time:8.1770420074463msSM3-PHPtime:1738.5928630829ms测试代码bech.php

SM4加密<?phpuseOeSm\Sm4;require__DIR__.'/vedor/autoload.php';$data=str_repeat('阿斯顿发到付eeee',160);$str_le=strle($data);//md5签名$sig=md5($data);//加密key必须为16位$key=hex2bi(md5(1));$sm4=ewSm4($key);//ECB加密$d=$sm4->eDataEcb($data);//加密后的长度和原数据长度一致var_dump(strle($d)===$str_le);//ECB解密$d=$sm4->deDataEcb($d);//解密后和原数据相等var_dump(md5($d)===$sig);//初始化向量16位$iv=hex2bi(md5(2));//CBC加密$d=$sm4->eDataCbc($data,$iv);//加密后的长度和原数据长度一致var_dump(strle($d)===$str_le);//CBC解密$d=$sm4->deDataCbc($d,$iv);//解密后和原数据相等var_dump(md5($d)===$sig);

功能介绍

这是一个PHP国密算法库,支持: sm3 字符串签名 文件签名 sm4 ecb cbc 安装
composer require lizhichao/one-sm SM3签名
<?php
...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论