Home  >  Article  >  Backend Development  >  A cryptographic extension for PHP7 code

A cryptographic extension for PHP7 code

coldplay.xixi
coldplay.xixiforward
2020-12-01 10:14:373961browse

PHP7 column introduces how to encrypt extensions

A cryptographic extension for PHP7 code

## Recommended:

PHP7

Introduction

A simple, high-performance, cross-platform PHP7 code encryption extension


Features

    Simple and fast, after actual testing, it has almost no impact on performance
  • Compatible with OPcache, Xdebug and other extensions
  • Supports Linux, macOS, Windows and other systems
  • Compatible with Apache, Nginx PHP-fpm, command line and other operating modes
  • The encryption algorithm is relatively simple, this is for speed considerations, but it is still difficult to decrypt
  • If the project has a lot of php files, you can only encrypt some important codes
  • Requires PHP >= 7.0
Installation

Please make the following modifications in

core.h before compiling:

/* 这里定制你的加密特征头,不限长度,十六进制哦 */
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,
};
Compile on Linux and macOS

git clone https://github.com/lihancong/tonyenc.git
cd tonyenc
phpize
./configure
make

Add the compiled file modules/tonyenc.so to the configuration item extension=tonyenc.so and restart the PHP service

Compile on Windows

The following modules have been compiled and are available Test (requires VC14 runtime library):

# php7.0 64位 线程安全版
php_tonyenc_php70_ts_VC14_x64.dll
# php7.0 64位 线程非安全版
php_tonyenc_php70_nts_VC14_x64.dll
Manual compilation method

Encryption

tonyenc.php in the code is the encryption tool:

php tonyenc.php example.php dir/
This way you can encrypt all php files in the

example.php and dir directories, and PHP will automatically decrypt them when running them. It's simple enough.

The above is the detailed content of A cryptographic extension for PHP7 code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:learnku.com. If there is any infringement, please contact admin@php.cn delete