php base64 gzip加密,PHP base64+gzinflate压缩加密和解密算法
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压缩加密和解密算法相关推荐
- python对压缩包简单加密_简单文件压缩加密脚本 python
#coding:utf-8 # version 1.1 # 添加了一个参数,可以指定轮换的值,虽然暴力破解完全没难度-- import sys import getopt import zlib im ...
- linux中常用的加密总结--base64编码解码与openssl实现
linux中常用的加密总结–base64编码解码与openssl实现 一.base64 !!!base64是一种数据编码方式,可逆,不是严格意义上的加密算法,不能作为安全加密使用 -d,–decode ...
- IDEA加密文件Base64转换String传输以及报文摘要MD5防止恶意篡改
一.需求:将数据加密之后存放到excel表中,到另一个地方之后,解密读出明文,但要采取一定的方法鉴别密文是否被修改过. 二.思路:先用MD5报文摘或要算法算出明文的摘要信息,并把摘要信息和明文一起用I ...
- python调用库函数用ecb模式加密图片_python 实现AES加密解密(ECB模式,配合base64)...
import base64 from Crypto.Cipher import AES ''' 采用AES对称加密算法 ''' # str不是32的倍数那就补足为16的倍数 def add_to_32 ...
- 前端DES加密、base64编码,后端DES解密、base64解码
项目场景: 在系统开发的过程中有的时候,我们为了数据的安全性会把前端的数据进行加密,然后再在后端程序中对加密数据进行解密或解密,今天我们就在这里说2种简单的方法(DES加密.base64编码) 具体实 ...
- Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试
一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...
- Golang实现SHA256加密和Base64编码
文章目录 1.前言 2.Base64 编码 2.1 Base64 标准方式编码解码 2.2 URL和文件名安全编码解码 2.3 无填充编码 3.SHA256加密 1.前言 JWT的生成规范中常用到Ba ...
- openssl的AES加密(base64编码)
openssl的AES加密(base64编码) [ base64编码/解码 ] AES加密后为乱码,使用base64编码后显示正常 /********************************* ...
- Jva编解码,加密工具类大全(Base64编解码,URL 编解码,sha56_Hmac加密,MD5对字符串进行加密,java自带类实现SHA-256方式加密)
Base64编解码 /*** Base64编码.*/public static String encodeBase64(byte[] input) {return new String(Base64. ...
最新文章
- Anaconda环境下OpenCV的安装
- Python CNN风格迁移
- 乐在其中设计模式(C#) - 提供者模式(Provider Pattern)
- [urllib]urlretrieve在python3
- elk系列5之syslog的模块使用
- jquery触发点击事件
- java 中文件outputstream的操作注意
- 开源数据库再创里程碑,PingCAP 获 2.7 亿美元融资
- 机器学习ai选股_机器学习技术能够有效用于选股吗?(下)
- vue的route和router的区别
- 【堆】leetcode215:第k大元素
- apollo-配置管理中心-安装
- 格式工厂DIVX、AVC、HEVC三个格式那个最清晰
- 技术年货:美团技术沙龙合辑大放送——85个演讲,70+小时视频
- 微信开发之图灵机器人API接口调用
- 用拉格朗日插值法,牛顿插值和分段线性插值计算近似值
- Python爬取必应图片2
- html3d建模,数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
- luogu P3324 [SDOI2015]星际战争
- ArrayList 集合底层实现原理解析
热门文章
- Linux进程间同步和通信,linux进程间的同步方法
- 插入排序 php,PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
- java epoch time_Java LocalDate ofEpochDay()用法及代码示例
- ue4打包安卓发送udp报文_内核udp报文截取、修改和发送
- Linux没有分区会怎样吗,Linux没有扩展分区。()
- postman json 中写注释_Swagger界面丑、功能弱怎么破?用Postman增强下就给力了!
- pytorch学习笔记(十六):Parameters
- 图像处理——在Python中使用OpenCV和PIL显示图像(legacy)
- 使用transforms.Normalize((0.5,), (0.5,))异常报错“Process finished with exit code -1073741676 (0xC0000094)”
- html5中的FileReader对象