資料介紹
軟件簡介
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互調用庫 1.9k次閱讀
- PHP中的生成器 1.5k次閱讀
- php版冒泡排序是如何實現的? 1.7k次閱讀
- 如何在Ubuntu 20.04安裝PHP 8.1并將其與Nginx集成 4.5k次閱讀
- php是什么語言編寫的 5.5k次閱讀
- 一文知道PHP的優點和缺點 7.6k次閱讀
- 國產X86處理器到底是一個什么情況 2.7w次閱讀
- 為什么PHP的開發效率比java高但是java比PHP流行 1.1w次閱讀
- PHP與Python對比 如何選擇? 4.7k次閱讀
- php開發中遇到的難點有哪些_十大php開發常見問題盤點 1.9w次閱讀
- php開發環境的搭建和使用 3.9k次閱讀
- 實現php毫秒定時器方法詳解 2.8k次閱讀
- php實現定時器任務方法詳解 1.6k次閱讀
- PHP定時器實現每隔幾秒運行一次方法詳解 1.7w次閱讀
- PHP實現定時任務的幾種方法詳解 7.3k次閱讀
下載排行
本周
- 1新一代網絡可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2冷柜-電氣控制系統講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數據手冊
- 2.33 MB | 次下載 | 免費
- 4MDD品牌三極管S9012數據手冊
- 2.62 MB | 次下載 | 免費
- 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 8MS1000TA 超聲波測量模擬前端芯片技術手冊
- 0.60 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協議電壓誘騙控制器IC技術手冊
- 1.81 MB | 1次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論