資料介紹
軟件簡介
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蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 286次下載 | 5 積分
- 2長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 3AO4803A雙P通道增強型場效應晶體管的數據手冊
- 0.11 MB | 28次下載 | 2 積分
- 4長虹液晶彩電LS29機芯的技術資料說明
- 3.42 MB | 16次下載 | 2 積分
- 5AI智能眼鏡產業鏈分析
- 4.43 MB | 14次下載 | 免費
- 6TP4055 500mA線性鋰離子電池充電器中文手冊
- 0.75 MB | 9次下載 | 免費
- 7TP4054 400mA線性鋰離子電池充電器中文手冊
- 0.70 MB | 2次下載 | 免費
- 8TP4057X 500mA線性鋰離子電池充電器中文手冊
- 0.74 MB | 2次下載 | 免費
本月
- 1人形機器人電機驅動和傳感報告
- 4.27 MB | 475次下載 | 免費
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 286次下載 | 5 積分
- 3長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 4U盤一鍵制作
- 23.84 MB | 41次下載 | 免費
- 5AO4803A雙P通道增強型場效應晶體管的數據手冊
- 0.11 MB | 28次下載 | 2 積分
- 6Altium Designer元件庫
- 17.11 MB | 26次下載 | 免費
- 7長虹液晶彩電LS29機芯的技術資料說明
- 3.42 MB | 16次下載 | 2 積分
- 8AI智能眼鏡產業鏈分析
- 4.43 MB | 14次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論