一個高效能、簡單、跨平臺的 PHP7 程式碼加密擴充套件

Tony5456發表於2017-03-13

介紹

一個簡潔、高效能、跨平臺的 PHP7 程式碼加密擴充套件
原始碼地址:GitHub

特點

  • 簡單快速,經實測,幾乎不影響效能
  • 相容 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.phpdir 目錄下的所有 php 檔案,PHP 在執行它們時會自動解密,夠簡單吧!

版權

允許轉載、修改、商用,請註明原作者及網址:Tony (http://lihancong.cn/)

這是我開發的第一個擴充套件,如有不足歡迎指正

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章