php_screw安装使用教程(另一个PHP代码加密实现)

2015-01-24信息快讯网

这篇文章主要介绍了php_screw安装使用教程,php_screw是另一个PHP代码加密实现,和Zend的encoder类似,需要的朋友可以参考下

开始之前,首先要澄清两个问题:第一,支持开源,不等于反对代码加密;第二,如果把不属于自己的东西(比如公司的)拿去开源,就更加不应该了。

以前知道的,PHP代码的加密都是用Zend的encoder,这东西不但是商业软件,好像还暴出过能够被破解的问题,所以就找到了替代的方案────php_screw,一个日本人开发的东东。

php_screw非常小巧,没有仔细看过它的算法,但从说明文档中看,可以自行更改SEED,然后自行编译so和可执行档。如果够牛的话,甚至可以自己去更改算法。不管怎样,对于我们这些“普通人”来说,这种加密应该就够了吧,如果真想滴水不漏,那还是不要公开的好,虽然作者说的并不是很容易就破解,但指不定哪儿有牛群呢不是么?

安装的环境需要:PHP5.x,zlib开启,autoconf,automake已安装。

测试环境:Ubuntu 8.04 hardy, PHP 5.2.3。

下载地址:http://sourceforge.net/projects/php-screw/

1、 解压,更改my_screw.h,里面的几个数字就是SEED,相当于密码,可以随意更改、增加,并且数字的多少不影响解密的速度。

2、编译so文件:

$ phpize
$ ./configure
$ make

如果出现这样的错误,那是因为autoconf没有安装:
$ make
make: *** No targets specified and no makefile found.  Stop.

3、安装so文件,编译好的文件在modules目录下,将其拷贝到php extension存放的位置,比如/usr/lib/php5/20060613+lfs下,然后在php.ini中增加:
extension = php_screw.so

4、编译用来加密文件的可执行文件:
$ cd tools
$ make

tools目录下新生成的screw就是了,放到$PATH中就可以调用了,比如要加密一个文件:
$ screw a.php
Success Crypting(a.php)

加密后的a.php执行正常,同时screw还会把原来没有加密的文件改名为.screw文件作为备份。

Update @ 2008-09-01

加密之后,还有个小问题,用require或include引用放在include_path下的加密代码时,会当做明文引过来,解决方法有两种:

使用绝对路径引用放在include_path下的加密内容,如果是自己的主机,肯定没问题的;
使用相对路径来引用,比如在本项目的子目录内,这样也是没问题的。

ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
用 Composer构建自己的 PHP 框架之基础准备
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
仿dedecms下拉分页样式修改的thinkphp分页类实例
thinkphp中html:list标签传递多个参数实例
php基于mcrypt的加密解密实例
php获取textarea的值并处理回车换行的方法
PHP中加密解密函数与DES加密解密实例
php中__destruct与register_shutdown_function执行的先后顺序问题
跟我学Laravel之视图 & Response
跟我学Laravel之请求(Request)的生命周期
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
PHP实现AES256加密算法实例
当前比较流行的两款PHP加密、解密工具Zend Guard和iconCube介绍
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
PHP中数组的分组排序实例
PHP Curl出现403错误的解决办法
PHP的foreach中使用引用时需要注意的一个问题和解决方法
神盾加密解密教程(一)PHP变量可用字符
PHP+javascript制作带提示的验证码源码分享
php中$美元符号与Zen Coding冲突问题解决方法分享
浅谈discuz密码加密的方式
PHP中spl_autoload_register()和__autoload()区别分析
php对称加密算法示例
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
一个PHP针对数字的加密解密类
php中AES加密解密的例子小结
解析如何用php screw加密php源代码
php_screw 1.5:php加密: 安装与使用详解
©2014-2024 dbsqp.com