Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Quellcode PHP-Beast-Verschlüsselung

PHP-Quellcode PHP-Beast-Verschlüsselung

不言
不言Original
2018-07-05 15:22:055143Durchsuche

Dieser Artikel stellt hauptsächlich die Verschlüsselung des PHP-Quellcodes php-beast vor, der einen gewissen Referenzwert hat. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.

Installieren Sie php-beast

Adresse zum Herunterladen des PHP-Beast-Quellcodes:

https://github.com/liexusong/php-beast

Entpacken und in das Quellcodeverzeichnis eingeben

[innpay@localhost soft]$ unzip php-beast-master.zip 

[innpay@localhost soft]$ cd php-beast-master
[innpay@localhost php-beast-master]$ pwd/home/pony/soft/php-beast-master

Kompilieren und installieren

[innpay@localhost php-beast-master]$ /home/pony/php/bin/phpize 
Configuring for:
PHP Api Version:         20131106Zend Module Api No:      20131226Zend Extension Api No:   220131226[innpay@localhost php-beast-master]$ ./configure --with-php-config=/home/pony/php/bin/php-config


[innpay@localhost php-beast-master]$ make

[innpay@localhost php-beast-master]$ make install
Installing shared extensions:     /home/pony/php/lib/php/extensions/no-debug-non-zts-20131226/

Nach Abschluss der Installation wird beast.so im Verzeichnis no-debug-non-zts-20131226 generiert.

Bearbeiten Sie php.ini und fügen Sie das Konfigurationselement hinzu: extension=beast.so

Starten Sie Apache neu und prüfen Sie, ob Beast über phpinfo wirksam wird

[innpay@localhost apache2]$ ./bin/apachectl restart

PHP-Quellcode PHP-Beast-Verschlüsselung

Verwenden Sie php-beast

Geben Sie nach Abschluss der Installation das Tools-Verzeichnis unter dem Quellcodeverzeichnis ein und konfigurieren Sie configure.ini

[innpay@localhost tools]$ cat configure.ini 
; source path
src_path = "/home/pony/php/apache2/htdocs/wechat_nofity"; destination path
dst_path = "/home/pony/php/apache2/htdocs/des"; expire time
expire = "2019-01-01 12:00:00"; encrypt typeencrypt_type = "DES"

src_path ist der Pfad zum Projekt zu verschlüsseln, dst_path ist der Pfad zum Speichern der Verschlüsselung. Der Pfad des Projekts, Expire ist die Zeit, zu der das Projekt verwendet werden kann (das Format von Expire ist: JJJJ-MM-TT HH:ii:ss). encrypt_type ist die Verschlüsselungsmethode, die Optionen sind: DES, AES, BASE64. Nachdem Sie die Datei configure.ini geändert haben, können Sie das Verschlüsselungsprojekt mit dem Befehl php encode_files.php starten.

Möglicherweise tritt das Problem auf, dass der PHP-Befehl hier nicht erkannt werden kann:

php: command not found

Die Lösung besteht darin, den Ausführungspfad von PHP zum PATH der Umgebungsvariablen .bash_profile

Verschlüsselungsvorgang durchführen:

[innpay@localhost tools]$ php encode_files.php
Source code path: /home/pony/php/apache2/htdocs/wechat_nofity
Destination code path: /home/pony/php/apache2/htdocs/des
Expire time: 2019-01-01 12:00:00------------- start process -------------PHP Warning:  strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/pony/php/soft/php-beast-master/tools/encode_files.php on line 147Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/pony/php/soft/php-beast-master/tools/encode_files.php on line 147Processed encrypt files [64%] - 100%Failed to encode file `/home/pony/php/apache2/htdocs/wechat_nofity/wechat.class.php'
Processed encrypt files [100%] - 100%
Finish processed encrypt files, used 0.699295 seconds

Hier wird mir angezeigt, dass die Verschlüsselung einer Datei mit dem Namen wechat.class.php fehlgeschlagen ist. Das liegt vermutlich daran, dass die Datei zu lang ist Wenn eines fehlschlägt, werde ich es separat kopieren.

Das verschlüsselte Verzeichnis ist das des-Verzeichnis. Sehen Sie sich die Quellcodedateien an. Sie sind tatsächlich verstümmelt. Der Zugriff auf alle PHP-Seiten ist jedoch normal.

Ändern Sie den Standardverschlüsselungsschlüssel

Da ich hier die Des-Verschlüsselungsmethode verwende, wird auf jeden Fall ein Des-Schlüssel verwendet. Der Standardschlüssel ist des_algo_handler in der PHP-Beast-C-Datei.

#include <stdlib.h>#include <string.h>#include "beast_module.h"#include "des_algo_lib.c"static char key[8] = {    0x01, 0x1f, 0x01, 0x1f,    0x01, 0x0e, 0x01, 0x0e,
};

kann nach der Änderung einfach neu kompiliert werden.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Einführung in den PHP-Iteratorgenerator

Zuweisen des Werts im Array zu einem Array in PHP-Methoden von Gruppenvariablen

Das obige ist der detaillierte Inhalt vonPHP-Quellcode PHP-Beast-Verschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn