Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Quellcode PHP-Beast-Verschlüsselung
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.
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
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 secondsHier 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üsselDa 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!