php為了保證原始碼安全,可以採用對源**進行加密的方式來進行保護,分兩部分去進行使用:
第一部分:安裝:
解壓安裝:
tar zxvf php_screw-1.5.tar.gz
cd php_screw-1.5
vi php_screw.h
#將#define pm9screw 「\tpm9screw\t」
#define pm9screw_len 10
#修改為任意字串,如:
#define pm9screw 「\tphpenc\t」
#define pm9screw_len 6
#如果不改這個檔案,加密的檔案內容開頭就會有 pm9screw,這麼做是為了隱藏加密演算法。
#修改加密金鑰:
short pm9screw_mycryptkey = ;
#修改為如:
short pm9screw_mycryptkey = ;
#越長加密越可靠,建議不要大於5位數。
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
如果編譯出錯:
/tmp/php_screw-1.5/php_screw.c: in function 『zm_startup_php_screw』:
/tmp/php_screw-1.5/php_screw.c:124: error: 『struct _zend_compiler_globals』 has no member named 『extended_info』
/tmp/php_screw-1.5/php_screw.c: in function 『zm_shutdown_php_screw』:
/tmp/php_screw-1.5/php_screw.c:133: error: 『struct _zend_compiler_globals』 has no member named 『extended_info』
make: *** [php_screw.lo] error 1
需要修改原始檔中檔案php_screw.c ,
把 cg(extended_info) = 1;修改為 cg(compiler_options) |= zend_compile_extended_info;
重新make //在modules生成libscrew.so庫
cd tools
make //生成screw工具
2、修改/etc/php.ini在最後加入
extension = php_screw.so
注意:extension_dir= / usr / local / php / lib / php / extensions / no - debug - non -zts - 20131226 /沒有的要先加上,不然會找不到模組
重啟php-fpm:
kilall php-fpm
./php-fpm
3、拷貝tools/screw到/usr/bin/screw
第二部分:使用:
1、加密單個php檔案:
screw test.php
加密成功後,test.php為加密後檔案,新生成的test.php.screw為加密前檔案。
2、對目錄下所有檔案進行加密:
find ./ -name "*.php" -print|xargs -n1 screw //加密所有的.php檔案
find ./ -name "*.screw" -print|xargs -n1 rm //刪除所有的.php原始檔的備份檔案
C 加密解密原始碼
using system using system.io using system.text using system.security.cryptography namespace x 獲取crypto例項 public static crypto instance return crypto.i...
PHP AES對稱加密原始碼
檢查php環境是否支援mcrypt cipher list mcrypt list algorithms mcrypt支援的加密演算法列表 mode list mcrypt list modes mcrypt支援的加密模式列表 echo print r cipher list print r mod...
PHP php原始碼加密 二
php beast 為php乙個擴充套件,可以方便快捷為php 進行加密處理 一 安裝 wget unzip master.zip cd php beast master phpize configure with php config usr local php bin php config su...