base64+gzinflate压缩编码(加密)过的文件通常是以 eval(gzinflate(base64_decode( 为头的一个php文件。文中给出了编码和解码的代码。

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);// 判断文件是否已经被编码处理

$pos = strpos($contents,'/*Protected by  Cryptation*/');

if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小

$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 '." /*Protected Cryptation*/\n eval(gzinflate(base64_decode(".$encode.")));\n /*Reverse engineering is illegal and strictly prohibited- (C)草名 Cryptation 2008*/ \n?>";

return file_put_contents($filename,$encode);

}

}

return false;

}

//调用函数

$filename='g:\我的文档\桌面\test.php';

encode_file_contents($filename);

?>

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);// 判断文件是否已经被编码处理

$pos = strpos($contents,'/*Protected by Cryptation*/');

if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小

$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 '." /*Protected by  Cryptation*/\n eval(gzinflate(base64_decode(".$encode.")));\n /*Reverse engineering is illegal and strictly prohibited- (C)草名 Cryptation 2008*/ \n?>";

return file_put_contents($filename,$encode);

}

}

return false;

}

//调用函数

$filename='g:\我的文档\桌面\test.php';

encode_file_contents($filename);

?>

php压缩解码(php解密)源代码:

$Code = '这里填写要解密的编码'; // base64编码

$File = 'test.php';//解码后保存的文件

$Temp = base64_decode($Code);

$temp = gzinflate($Temp);

$FP = fopen($File,"w");

fwrite($FP,$temp);

fclose($FP);

echo "解密成功!";

?>

(责任编辑:我爱学习网)

更多技巧文章请关注公众号:huixiang_360

php base64 gzip加密,PHP base64+gzinflate压缩加密和解密算法相关推荐

  1. python对压缩包简单加密_简单文件压缩加密脚本 python

    #coding:utf-8 # version 1.1 # 添加了一个参数,可以指定轮换的值,虽然暴力破解完全没难度-- import sys import getopt import zlib im ...

  2. linux中常用的加密总结--base64编码解码与openssl实现

    linux中常用的加密总结–base64编码解码与openssl实现 一.base64 !!!base64是一种数据编码方式,可逆,不是严格意义上的加密算法,不能作为安全加密使用 -d,–decode ...

  3. IDEA加密文件Base64转换String传输以及报文摘要MD5防止恶意篡改

    一.需求:将数据加密之后存放到excel表中,到另一个地方之后,解密读出明文,但要采取一定的方法鉴别密文是否被修改过. 二.思路:先用MD5报文摘或要算法算出明文的摘要信息,并把摘要信息和明文一起用I ...

  4. python调用库函数用ecb模式加密图片_python 实现AES加密解密(ECB模式,配合base64)...

    import base64 from Crypto.Cipher import AES ''' 采用AES对称加密算法 ''' # str不是32的倍数那就补足为16的倍数 def add_to_32 ...

  5. 前端DES加密、base64编码,后端DES解密、base64解码

    项目场景: 在系统开发的过程中有的时候,我们为了数据的安全性会把前端的数据进行加密,然后再在后端程序中对加密数据进行解密或解密,今天我们就在这里说2种简单的方法(DES加密.base64编码) 具体实 ...

  6. Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试

    一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...

  7. Golang实现SHA256加密和Base64编码

    文章目录 1.前言 2.Base64 编码 2.1 Base64 标准方式编码解码 2.2 URL和文件名安全编码解码 2.3 无填充编码 3.SHA256加密 1.前言 JWT的生成规范中常用到Ba ...

  8. openssl的AES加密(base64编码)

    openssl的AES加密(base64编码) [ base64编码/解码 ] AES加密后为乱码,使用base64编码后显示正常 /********************************* ...

  9. Jva编解码,加密工具类大全(Base64编解码,URL 编解码,sha56_Hmac加密,MD5对字符串进行加密,java自带类实现SHA-256方式加密)

    Base64编解码 /*** Base64编码.*/public static String encodeBase64(byte[] input) {return new String(Base64. ...

最新文章

  1. Anaconda环境下OpenCV的安装
  2. Python CNN风格迁移
  3. 乐在其中设计模式(C#) - 提供者模式(Provider Pattern)
  4. [urllib]urlretrieve在python3
  5. elk系列5之syslog的模块使用
  6. jquery触发点击事件
  7. java 中文件outputstream的操作注意
  8. 开源数据库再创里程碑,PingCAP 获 2.7 亿美元融资
  9. 机器学习ai选股_机器学习技术能够有效用于选股吗?(下)
  10. vue的route和router的区别
  11. 【堆】leetcode215:第k大元素
  12. apollo-配置管理中心-安装
  13. 格式工厂DIVX、AVC、HEVC三个格式那个最清晰
  14. 技术年货:美团技术沙龙合辑大放送——85个演讲,70+小时视频
  15. 微信开发之图灵机器人API接口调用
  16. 用拉格朗日插值法,牛顿插值和分段线性插值计算近似值
  17. Python爬取必应图片2
  18. html3d建模,数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
  19. luogu P3324 [SDOI2015]星际战争
  20. ArrayList 集合底层实现原理解析

热门文章

  1. Linux进程间同步和通信,linux进程间的同步方法
  2. 插入排序 php,PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
  3. java epoch time_Java LocalDate ofEpochDay()用法及代码示例
  4. ue4打包安卓发送udp报文_内核udp报文截取、修改和发送
  5. Linux没有分区会怎样吗,Linux没有扩展分区。()
  6. postman json 中写注释_Swagger界面丑、功能弱怎么破?用Postman增强下就给力了!
  7. pytorch学习笔记(十六):Parameters
  8. 图像处理——在Python中使用OpenCV和PIL显示图像(legacy)
  9. 使用transforms.Normalize((0.5,), (0.5,))异常报错“Process finished with exit code -1073741676 (0xC0000094)”
  10. html5中的FileReader对象