主权项 |
一种面向云存储的文件压缩方法,所述方法文件压缩方法具体包括:步骤101)选择认证方式,所述认证方式包含:单独采用附言认证方式或者同时采用附言和水印的认证方式;设定认证和压缩相关参数的初值,所述的相关参数包含:水印认证信息的长度R、附言认证信息的长度为T、嵌入位置密钥Key1、对数据进行加密的密钥Key2及嵌入单元大小U;其中,所述的嵌入单元为划分原始文件后得到的处理单元,该处理单元为文件嵌入、压缩与加密过程的最小单位,U>R;步骤102)设定认证信息内容,所述认证信息包含水印认证信息和附言认证信息,所述水印认证信息为长度R的字符串,附言认证信息为长度T的字符串;根据设定的认证信息内容及认证和压缩相关参数初值生成长度为H的认证信息头部;步骤103)获取原始文件及原始文件的长度;步骤104)根据原始文件的长度信息S、认证信息头部的长度H、水印认证信息的长度R、附言认证信息的长度T和嵌入单元大小U,采用如下公式计算嵌入单元的个数N:<img file="FDA0000688532760000011.GIF" wi="401" he="149" />如果没有水印认证信息,则R=0;如果没有附言认证信息,则T=0;步骤105)根据得到的嵌入式单元的个数N计算当前嵌入单元中待嵌入的认证信息长度和待嵌入的载体文件长度,其中待嵌入的认证信息的长度与待嵌入的载体文件长度的和等于嵌入单元的长度;步骤106)根据步骤105)所得结果读取相应长度的认证信息和载体文件数据;步骤107)根据嵌入位置密钥Key1,在当前嵌入单元中生成待嵌入认证信息的嵌入位置;步骤108)根据读取的相应长度的认证信息和载体文件数据以及生成的待嵌入认证信息的嵌入位置,在当前嵌入单元中嵌入认证信息进而形成载密数据单元;其中,载密数据单元大小与嵌入单元大小相同,所述载密数据单元包含载体文件数据及认证信息;步骤109)对载密数据单元进行压缩与加密;步骤110)判断当前嵌入单元是否为最后一个嵌入单元,如果是,则在压缩文件中写入文件信息,文件压缩过程结束;如果否,回到步骤105);其中,压缩文件是指原始文件经过嵌入、加密与压缩过程后得到的文件。 |