介紹
一個簡潔、高效能、跨平臺的 PHP7 程式碼加密擴充套件
特點
簡單快速,經實測,幾乎不影響效能
相容 OPcache、Xdebug 等其他擴充套件
支援 Linux、macOS、Windows 等系統
相容 Apache、Nginx + PHP-fpm、命令列等執行模式
加密演算法較簡單,這是出於速度考慮,但仍不易解密
若專案的 php 檔案很多,可只加密部分重要程式碼
要求 PHP >= 7.0
安裝
編譯前請在 core.h 中做如下修改:
/* 這裡定製你的加密特徵頭,不限長度,十六進位制哦 */
const u_char tonyenc_header[] = {
0x66, 0x88, 0xff, 0x4f,
0x68, 0x86, 0x00, 0x56,
0x11, 0x16, 0x16, 0x18,
};
/* 這裡指定金鑰,設定長一些更安全 */
const u_char tonyenc_key[] = {
0x9f, 0x49, 0x52, 0x00,
0x58, 0x9f, 0xff, 0x21,
0x3e, 0xfe, 0xea, 0xfa,
0xa6, 0x33, 0xf3, 0xc6,
};
在 Linux、macOS 上編譯
git clone https://github.com/lihancong/tonyenc.git
cd tonyenc
phpize
./configure
make
將編譯好的檔案 modules/tonyenc.so 加入到配置項 extension=tonyenc.so ,重啟 PHP 服務
在 Windows 上編譯
已編譯了以下模組,可供測試(需要 VC14 執行庫):
# php7.0 64位 執行緒安全版
php_tonyenc_php70_ts_VC14_x64.dll
# php7.0 64位 執行緒非安全版
php_tonyenc_php70_nts_VC14_x64.dll
手動編譯方法
加密
程式碼中的 tonyenc.php 是加密工具:
php tonyenc.php example.php dir/
這樣即可加密 example.php 和 dir 目錄下的所有 php 檔案,PHP 在執行它們時會自動解密,夠簡單吧。