打包技术详解-第四讲.ppt_第1页
打包技术详解-第四讲.ppt_第2页
打包技术详解-第四讲.ppt_第3页
打包技术详解-第四讲.ppt_第4页
打包技术详解-第四讲.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文件打包技术详解 第四讲:文件压缩与完整性检测 主讲人:步磊峰 UIPower 3D界面引擎负责人,第一节:开源文件压缩Zlib库,Zlib库 免费的文件压缩库,这个算法很成熟、很常用,压缩、解压的操作也都非常快,而且压缩比也很好。,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,向导生成Package6控制台程序 打开VS2005相关编辑器 选择项目win32类型 选择Win32控制台应用程序 选择控制台应用程序 点击完成按钮,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,添加Zlib库到Package6工程里,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,把Package5的NewPackage类以及相关的加解密类添加到工程里,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,新增一个压缩数据CCompressor类,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,添加CCompressor接口,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,实现CCompressor接口 得到数据压缩的最大长度,第二节:编写Package6程序,实现CCompressor接口 数据压缩,第二节:编写Package6程序,实现CCompressor接口 数据解压,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,定义包裹格式,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,定义PackageBlockInfo结构体,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,修改SavePackage函数 关键的写入代码部分总体不变:,第二节:编写Package6程序,修改SavePackage函数 写入压缩后的数据:,第二节:编写Package6程序,修改ExpackageItem函数 对于提取包裹文件的部分:,第二节:编写Package6程序,修改SavePackage函数 压缩部分,我们先准备一个足够大的安全缓冲区,然后做压缩,保存BlockInfo的信息:,第二节:编写Package6程序,修改ExpackageItem函数 读取的方式略有改变,先读取压缩块的信息 然后根据压缩块信息来解压:,第二节:编写Package6程序,1、向导生成Package6程序 2、添加Zlib库到Package6工程里 3、把Package5的NewPackage类以及相关的加解密类给加入进来 4、新增一个压缩数据CCompressor类 5、添加CCompressor接口 6、实现CCompressor接口 7、定义包裹格式 8、定义PackageBlockInfo结构体 9、修改SavePackage函数和ExpackageItem函数 10、添加测试代码并显示结果,第二节:编写Package6程序,添加测试代码并显示结果 添加测试代码,第二节:编写Package6程序,添加测试代码并显示结果 编译,运行,把zlib1.dll复制到我们的运行目录,第三节:资源完整性检测,1、新建package7程序,复制package6的相关文件 2、定义包裹格式 3、修改SavePackage函数 4、修改OpenPackage函数 5、添加测试代码,第三节:资源完整性检测,新建package7程序,复制package6的相关文件,第三节:资源完整性检测,1、新建package7程序,复制package6的相关文件 2、定义包裹格式 3、修改SavePackage函数 4、修改OpenPackage函数 5、添加测试代码,第三节:资源完整性检测,定义包裹格式,第三节:资源完整性检测,1、新建package7程序,复制package6的相关文件 2、定义包裹格式 3、修改SavePackage函数 4、修改OpenPackage函数 5、添加测试代码,第三节:资源完整性检测,修改SavePackage函数 索引部分加入一个CRC值的空间,第三节:资源完整性检测,修改SavePackage函数 在写入索引的时候,我们增加写入一个CRC校验值:,第三节:资源完整性检测,修改SavePackage函数 在写入包裹数据的时候,我们同样增加个CRC校验值,第三节:资源完整性检测,1、新建package7程序,复制package6的相关文件 2、定义包裹格式 3、修改SavePackage函数 4、修改OpenPackage函数 5、添加测试代码,第三节:资源完整性检测,修改OpenPackage函数 先读取CRC索引值,第三节:资源完整性检测,修改OpenPackage函数 读取出来的值与校验值进行比较,第三节:资源完整性检测,修改OpenPackage函数 导出包裹数据部分:,第三节:资源完整性检测,修改OpenPackage函数 读取数据后,在解压缩之前,我们校验一下,第三节:资源完整性检测,1、新建package7程序,复制package6的相关文件 2、定义包裹格式 3、修改

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论