資料介紹
軟件簡介
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國密算法庫
- 以SM3算法為例,構建一個軟硬協作算法加速器:算法篇
- 以SM3算法為例,構建一個軟硬協作算法加速器:SM3 軟件實現篇
- 以SM3算法為例,構建一個軟硬協作算法加速器:SM3 開源硬件實現篇
- 以SM3算法為例,構建一個軟硬協作算法加速器:設計面向SM3優化的運算結構
- PHP教程:foreach使用引用注意的問題
- PHP學習教程分享 7次下載
- 如何使用PHP-X快速開發一個PHP擴展 8次下載
- PHP教程之PHP與MySQL數據庫連接的資料說明 8次下載
- smarty如何調用PHP常量 3次下載
- 如何使用PHP-X快速開發一個PHP擴展 9次下載
- PHP基礎知識的詳細資料總結 7次下載
- 基于SM3的HMAC的能量分析攻擊方法 1次下載
- 基于FPGA的SM3算法優化設計與實現 5次下載
- PHP/MySQL教程 0次下載
- phpy:PHP與Python互調用庫 1042次閱讀
- PHP中的生成器 879次閱讀
- php版冒泡排序是如何實現的? 960次閱讀
- 如何在Ubuntu 20.04安裝PHP 8.1并將其與Nginx集成 3509次閱讀
- php是什么語言編寫的 5024次閱讀
- 一文知道PHP的優點和缺點 7023次閱讀
- 國產X86處理器到底是一個什么情況 2.4w次閱讀
- 為什么PHP的開發效率比java高但是java比PHP流行 1w次閱讀
- PHP與Python對比 如何選擇? 4548次閱讀
- php開發中遇到的難點有哪些_十大php開發常見問題盤點 1.8w次閱讀
- php開發環境的搭建和使用 3474次閱讀
- 實現php毫秒定時器方法詳解 2586次閱讀
- php實現定時器任務方法詳解 1435次閱讀
- PHP定時器實現每隔幾秒運行一次方法詳解 1.6w次閱讀
- PHP實現定時任務的幾種方法詳解 7162次閱讀
下載排行
本周
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 30次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 23次下載 | 1 積分
- 3多級放大電路的學習課件免費下載
- 1.81 MB | 20次下載 | 2 積分
- 4PC4401_DC-DC 42V反激式隔離開關電路
- 0.85 MB | 4次下載 | 免費
- 5HR1124S/9110S單通道低壓H橋電機驅動芯片中文手冊
- 1.30 MB | 1次下載 | 免費
- 6基于51/32單片機按鍵控制步進電機正反轉,A4988驅動
- 2.05 MB | 1次下載 | 1 積分
- 7STM32F10xxx單片機編程手冊
- 0.29 MB | 1次下載 | 免費
- 8西門子PLC-模擬量采集計算使用方法
- 0.07 MB | 次下載 | 2 積分
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 30次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 23次下載 | 1 積分
- 3第十一屆 藍橋杯 單片機設計與開發項目 省賽 程序設計試題及源碼
- 90.88KB | 23次下載 | 3 積分
- 4Python從入門到精通背記手冊
- 18.77 MB | 21次下載 | 1 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 20次下載 | 2 積分
- 6STM32F103C8T6開發板最小系統原理圖
- 0.78 MB | 17次下載 | 免費
- 7SX1308應用電路圖與SX1308升壓電路圖
- 0.18 MB | 8次下載 | 1 積分
- 8東芝彩色電視機29SF6C維修說明書
- 4.86 MB | 8次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183337次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81585次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論