Maison >développement back-end >tutoriel php >Code source PHP cryptage php-beast

Code source PHP cryptage php-beast

不言
不言original
2018-07-05 15:22:055148parcourir

Cet article présente principalement le cryptage du code source PHP php-beast, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Installer php-beast

.

Adresse de téléchargement du code source de php-beast :

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

Décompressez et entrez dans le répertoire du code source

[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

pour compiler, Installation

[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/

Une fois l'installation terminée, Beast.so est généré dans le répertoire no-debug-non-zts-20131226.

Modifiez php.ini et ajoutez l'élément de configuration : extension=beast.so

Redémarrez Apache et vérifiez si Beast prend effet via phpinfo

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

Code source PHP cryptage php-beast

Utilisez php-beast

Une fois l'installation terminée, entrez le répertoire tools sous le répertoire source et configurez 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 est le chemin au projet à chiffrer, dst_path est le chemin pour enregistrer le projet chiffré, expire est l'heure à laquelle le projet peut être défini (le format d'expiration est : AAAA-mm-jj HH:ii:ss). encrypt_type est la méthode de cryptage, les options sont : DES, AES, BASE64. Après avoir modifié le fichier configure.ini, vous pouvez utiliser la commande php encode_files.php pour démarrer le projet de chiffrement.

Vous pouvez rencontrer le problème que la commande php ne peut pas être reconnue ici :

php: command not found

La solution est d'ajouter le chemin d'exécution php au PATH de la variable d'environnement .bash_profile

Effectuer une opération de cryptage :

[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

Ici, je suis informé qu'un fichier nommé wechat.class.php n'a pas pu être crypté. Je soupçonne que c'est parce que le fichier est trop long. peu importe si l'un échoue, je le copierai séparément.

Le répertoire crypté est le répertoire des. Entrez et regardez les fichiers de code source. Ils sont en effet tronqués. Mais accéder à toutes les pages php est normal.

Modifier la clé de cryptage par défaut

Parce que j'utilise ici la méthode de cryptage des, une clé des sera certainement utilisée. La clé par défaut est des_algo_handler dans le répertoire php-beast.

#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,
};

peut être modifié directement. Il suffit de recompiler après avoir effectué les modifications.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Introduction au générateur d'itérateur PHP

Attribution de la valeur du tableau à un tableau dans les méthodes PHP de variables de groupe

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn