首页 > 代码库 > 春哥技术博客来谈谈php源码加密那点事
春哥技术博客来谈谈php源码加密那点事
今天春哥技术博客给大家谈谈源码加密的那些事。加密就是阻碍进步的,asp.net就是因为都编译后发布,导致优秀源码少。
php源码比较常用有 Zend公司的ZendGuard 和 ionCube公司的ionCube PHP Encode。这两个加密都不能独立运行。要分别在ZendOptimizer和 ionCube PHP Accelerator的PHP引擎下才能正常解码运行。如果不想在第三方引擎下加密可以用下面方法:看代码
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,‘.‘),1));
if (‘php‘ == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP文件 并且可写 则进行压缩编码
$contents = file_get_contents($filename); // 判断文件是否已经被编码处理
// $contents = php_strip_whitespace($filename);
// 去除PHP头部和尾部标识
$headerPos = strpos($contents,‘<?php‘);
$footerPos = strrpos($contents,‘?>‘);
$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);
$encode = base64_encode(gzdeflate($contents)); // 开始编码
$encode = ‘<?php‘."\n eval(gzinflate(base64_decode("."‘".$encode."‘".")));\n\n?>";
return file_put_contents($filename, $encode);
}
return false;
}
运行加密后的代码 eval(gzinflate(base64_decode(‘加密后的字符串‘)));
效果图如下
关键点函数:eval() 、base64_encode() 、base64_decode() 、gzinflate() 、gzdeflate()
也可以用其它编码、解码 函数混合使用。
本文出处:http://www.cgtblog.com/jishu/1004.html,转载请注明出处(春哥QQ:2931393342 微信号:wocgtblog)
本文出自 “春哥团队技术博客” 博客,请务必保留此出处http://cyeagle.blog.51cto.com/3168672/1931574
春哥技术博客来谈谈php源码加密那点事