资料介绍
软件简介
SM3-PHP是国密标准SM3的原生PHP实现。
特点
- 纯原生 PHP 代码,不额外依赖扩展项;
- OOP + Composer ,更优雅,安装更简单;
- 使用命名空间,防止变量名、方法名污染;
- 引入了 Composer 的 PSR-4 规范,进行类的自动加载;
- 使用 PSR-12 代码规范
- 代码注释完整, 可配合《 SM3密码杂凑算法 》食用, 方便进一步学习和研究本算法。
要求
- 5.3 <= php < 7.2
7.2 之后版本理论通过,但因为 phpunit 的版本兼容性问题,没有单元测试支撑
1.x 版本之后只会作为低版本兼容,2.x 及之后版本会对 PHP 更高版本做适配,使用更多新特性
安装
本库优先支持 Composer 安装,但为了尊重使用习惯,也提供了直接下载压缩包的方式。 但不得不说,Composer 式的以组件、包为单位的项目管理方式更加现代化、方便和优雅。
一、源码解压(不推荐)
-
下载压缩包
提供了
.zip
和.tar.gz
两种格式的压缩包, 压缩包已经过 Composer 包的优化 -
解压到项目中的任意位置
-
Windows:
使用
winrar
/7zip
/Bandizip
等工具解压 -
类Unix:
tar zxvf SM3-PHP.tar.gz # 或者 unzip SM3-PHP.zip
-
# 打包命令 composer arch # 或 composer run-script arch
二、composer 安装(强烈推荐)
-
安装 composer
详见 《如何安装 Composer》
-
安装慢可更换中文镜像
由于大量先前的镜像失效,所以目前(2019-11-25)推荐使用阿里云镜像
其实配置中已经把镜像配置成了阿里云的镜像。 但有效范围毕竟只有这一个包。
开发环境中还是建议进行下全局的配置。
更换阿里云镜像方式详见拙笔 《向先行者致敬,迎接 Composer 的未来!》
-
composer require ch4o5/sm3-php
-
composer install
-
composer update
下述
composer update
参数作为生产环境的优化,分析、调试和阅读代码无须使用参数简单说明:
快速开始
在根目录中的 demo.php 中,进行了简单地调用示范:
/** * demo @ sm3-php * * Code BY ch4o5 * 10月. 12th 2019 * Powered by PhpStorm */ // 1. 引入项目中 Composer 的 autoload.php require 'vendor/autoload.php'; // 2. 如果使用源码压缩包方式安装,则引入下面这句 // require '解压后的SM3-PHP目录/vendor/autoload.php'; // 直接调用提供的 sm3() 函数 $sm3 = sm3('abc'); // 使用它 echo $sm3;
你也可以在 examples/ 目录下找到更多的使用示例。
目录结构
-
examples/ 示例项目
-
src/ 源码目录,命名空间为
SM3
-
vendor/ Composer自动加载相关
-
CHANGELOG.md 版本变更日志
-
composer.json Composer 配置文件
-
composer.lock Composer 锁文件,用于保证版本
-
demo.php 演示代码
-
LICENSE 开源许可证文件
-
README.md 本文件,项目说明
- one-sm PHP国密算法库 1次下载
- 以SM3算法为例,构建一个软硬协作算法加速器:算法篇 1次下载
- 以SM3算法为例,构建一个软硬协作算法加速器:SM3 软件实现篇 2次下载
- 以SM3算法为例,构建一个软硬协作算法加速器:SM3 开源硬件实现篇 0次下载
- 以SM3算法为例,构建一个软硬协作算法加速器:设计面向SM3优化的运算结构 0次下载
- PHP教程:foreach使用引用注意的问题 9次下载
- PHP学习教程分享 7次下载
- 如何使用PHP-X快速开发一个PHP扩展 8次下载
- 如何使用PHP-X快速开发一个PHP扩展 9次下载
- PHP基础知识的详细资料总结 7次下载
- PHP云4.1标签调用大全包含代码的资料免费下载 2次下载
- 基于SM3的HMAC的能量分析攻击方法 1次下载
- PHP从入门到精通(免费) 9次下载
- 基于FPGA的SM3算法优化设计与实现 4次下载
- PHP/MySQL教程 0次下载
- phpy:PHP与Python互调用库 485次阅读
- PHP中的生成器 538次阅读
- php版冒泡排序是如何实现的? 624次阅读
- 如何在Ubuntu 20.04安装PHP 8.1并将其与Nginx集成 2559次阅读
- php是什么语言编写的 4603次阅读
- 一文知道PHP的优点和缺点 6289次阅读
- 为什么PHP的开发效率比java高但是java比PHP流行 9913次阅读
- 微雪电子SM24240两相步进电机SM24240简介 1901次阅读
- PHP与Python对比 如何选择? 4418次阅读
- php开发中遇到的难点有哪些_十大php开发常见问题盘点 1.8w次阅读
- php开发环境的搭建和使用 3140次阅读
- 实现php毫秒定时器方法详解 2366次阅读
- php实现定时器任务方法详解 1224次阅读
- PHP定时器实现每隔几秒运行一次方法详解 1.6w次阅读
- PHP实现定时任务的几种方法详解 7037次阅读
下载排行
本周
- 1储能电源市场分析
- 7.99 MB | 8次下载 | 免费
- 2储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
- 3磁环电感定制时应该注意什么
- 0.32 MB | 2次下载 | 免费
- 4labview文档教程资料(一)
- 24.29 MB | 2次下载 | 免费
- 5轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
- 0.60 MB | 1次下载 | 2 积分
- 6英集芯IP5353 QFN32 规格书pdf
- 2.70 MB | 1次下载 | 免费
- 7NCV78763R1DAGEVB子板数据手册
- 533.41 KB | 次下载 | 免费
- 8500mA,高效 MicroSiP™ 降压转换器TPS8269xSIP数据表
- 918.92KB | 次下载 | 免费
本月
- 1ES9038PRO解码芯片的电路原理图介绍
- 0.25 MB | 35次下载 | 5 积分
- 2STM32国内外发展现状
- 1.15 MB | 13次下载 | 免费
- 3传感芯片选型指南
- 3.60 MB | 11次下载 | 免费
- 4ATmega8芯片中文手册
- 2.45 MB | 8次下载 | 1 积分
- 5储能电源市场分析
- 7.99 MB | 8次下载 | 免费
- 6TDK电容器产品指南
- 11.88 MB | 7次下载 | 1 积分
- 72A多电池高效开关充电器AN_SY6912A中文资料规格书
- 1.43 MB | 7次下载 | 免费
- 8储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935086次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420050次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233068次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191317次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183316次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73788次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多