-
09-06
-
12-27
-
01-08
-
12-31
-
12-31
PHP实现源码简单编码加解密
发布时间:2021-01-08 12:00:23
文章来源:原创
访问次数:9
加密函数
<?php function encryption($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; } //调用函数 $filename = 'index.php';//待加密的文件 encryption($filename); echo "OK,加密完成!" ?>
解密函数
<?php //已经加密的文件内容 $data = "eval(gzinflate(base64_decode('40pNzshXUCouKcrMS1eyVrC3AwA=')));"; function decrypt($data){ $max_level = 300; //最大层数 for ($i = 0; $i < $max_level; $i++) { ob_start(); eval(str_replace('eval', 'echo', $data)); $data = ob_get_clean(); if (strpos($data, 'eval(gzinflate(base64_decode') === false) { return $data; } } } echo decrypt($data); //得到echo "string"; ?>
本文链接:https://www.928118.com/php/64.html
文章评论
共 0 条评论,查看全部
- 这篇文章还没有收到评论,赶紧来抢沙发吧~
最新资讯