System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及编码解码,具体地说是一种基于字节动态转码的文件编解码方法、系统、设备及介质。
技术介绍
1、随着信息化技术的发展,信息安全的要求日益增加,为保障数据的安全性,避免数据泄露,信息化系统涉及的文件往往采用加密存储,对于文件加密,常用的文件加密主要包括:对文件进行压缩,然后对压缩文件进行加密,该种方式加密方式比较简单,容易被破解,安全性不强;对整个文件进行整体加密,该种方式在处理大文件时,容易出现内存溢出等问题;采用aes或者des对称加密算法针对字节进行加密,该种方式加密和解密的速度较慢,需要消耗大量的计算资源,对于大文件的加密和解密操作,也会导致内存不足的问题。
2、故如何快速安全便捷的实现对文件的编解码,满足文件不能明文存储的需求是目前亟待解决的技术问题。
技术实现思路
1、本专利技术的技术任务是提供一种基于字节动态转码的文件编解码方法、系统、设备及介质,来解决如何快速安全便捷的实现对文件的编解码,满足文件不能明文存储的需求的问题。
2、本专利技术的技术任务是按以下方式实现的,一种基于字节动态转码的文件编解码方法,该方法通过对文件各字节进行动态混淆编解码实现对文件的编解码操作,具体如下:
3、文件预处理:以字符(io)流对文件进行预处理,获取文件的总大小以及文件名称所占字节总大小,按照文件总大小及文件名称所占字节总数生成混淆基础解;
4、混淆密钥动态计算:将混淆基础解按照字节缓冲区大小进行计算,动态生成缓冲区内所有字节的
5、文件编解码:基于动态混淆密钥数组对缓冲区的字节进行编码及解码,即按照字节混淆密钥码值对字节进行转码,实现整个文件的编解码操作。
6、作为优选,缓冲区大小默认按4k进行设置,支持动态调整;具体如下:
7、初始化一个4*1024容量且默认为0的数值型数组;
8、对数值型数组根据混淆密钥基础解以及数值型数组的位置下标生成混淆密钥码值,并存入数值型数据相应位置,生成混淆密钥数组。
9、更优地,混淆密钥值的计算方法采用数组下标与一个字节表示的最大值求商及取模运算的方式。
10、作为优选,文件编解码具体如下:
11、设置文件处理缓冲区数组,缓冲区数组设置的大小与混淆密钥动态计算的缓存区大小一致;
12、以字符流的方式读取文件字节流到缓冲区;
13、在缓冲区对字节进行字节混淆编码及解码;其中,字节混淆编码及解码的规则是按照字节缓冲区与混淆密钥数组进行联合计算,获取混淆密钥码值。
14、更优地,在缓冲区对字节进行字节混淆编码及解码具体如下:
15、①根据缓冲区数组的下标位置获取混淆密钥数组的混淆值;
16、②将缓冲区对应位置原始字节与混淆值进行编码及解码,并将编码机解码后的数值替换原始数值;
17、③将对应缓冲区的字节以字符流的方式写入文件中,重复步骤①和②,直到完成对应文件所有字节的处理。
18、一种基于字节动态转码的文件编解码系统,该系统用于实现如上述的基于字节动态转码的文件编解码方法;该系统包括:
19、文件预处理模块,用于以字符(io)流对文件进行预处理,获取文件的总大小以及文件名称所占字节总大小,按照文件总大小及文件名称所占字节总数生成混淆基础解;
20、混淆密钥动态计算模块,用于将混淆基础解按照字节缓冲区大小进行计算,动态生成缓冲区内所有字节的混淆密钥值,获取动态混淆密钥数组;
21、文件编解码模块,用于基于动态混淆密钥数组对缓冲区的字节进行编码及解码,即按照字节混淆密钥码值对字节进行转码,实现整个文件的编解码操作。
22、作为优选,缓冲区大小默认按4k进行设置,支持动态调整;具体如下:
23、初始化一个4*1024容量且默认为0的数值型数组;
24、对数值型数组根据混淆密钥基础解以及数值型数组的位置下标生成混淆密钥码值,并存入数值型数据相应位置,生成混淆密钥数组;
25、混淆密钥值的计算方法采用数组下标与一个字节表示的最大值求商及取模运算的方式;
26、文件编解码模块包括:
27、设置子模块,用于设置文件处理缓冲区数组,缓冲区数组设置的大小与混淆密钥动态计算的缓存区大小一致;
28、读取子模块,用于以字符流的方式读取文件字节流到缓冲区;
29、字节编解码子模块,用于在缓冲区对字节进行字节混淆编码及解码;其中,字节混淆编码及解码的规则是按照字节缓冲区与混淆密钥数组进行联合计算,获取混淆密钥码值;具体如下:
30、①根据缓冲区数组的下标位置获取混淆密钥数组的混淆值;
31、②将缓冲区对应位置原始字节与混淆值进行编码及解码,并将编码机解码后的数值替换原始数值;
32、③将对应缓冲区的字节以字符流的方式写入文件中,重复步骤①和②,直到完成对应文件所有字节的处理。
33、更优地,该系统的工作过程具体如下:
34、(1)通过文件预处理模块进行文件预处理;
35、(2)获取文件总大小及文件名称所占字节总数;
36、(3)判断是否为空文件;
37、①若是,则跳转至步骤(9);
38、②若否,则执行步骤(4);
39、(4)计算混淆密钥基础解;
40、(5)计算混淆缓冲区密钥数组;
41、(6)读取字节流到缓冲区;
42、(7)按照混淆密钥替换原始字节;
43、(8)判断文件所有字节是否全部处理:
44、①若是,则执行步骤(9);
45、②若否,则跳转至步骤(6);
46、(9)结束。
47、一种电子设备,包括:存储器和至少一个处理器;
48、其中,所述存储器上存储有计算机程序;
49、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于字节动态转码的文件编解码方法。
50、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于字节动态转码的文件编解码方法。
51、本专利技术的基于字节动态转码的文件编解码方法、系统、设备及介质具有以下优点:
52、(一)本专利技术采用了混淆密钥动态生成及管理技术,并对字节进行混淆转码,实现了对文件的加密,满足了文件不能明文存储的要求,同时也具有加密效率高、安全性强、混淆密钥动态管理以及文件放篡改的特性;
53、(二)本专利技术主要目的是针对字节编码,按照一定的规则对字节进行混淆及转码实现对文件的加解密,面向各种格式的文件实现快速、安全以及便捷的加解密;
54、(三)本专利技术在原字节的码值通过算法添加混淆值,并将混淆后的数值本文档来自技高网...
【技术保护点】
1.一种基于字节动态转码的文件编解码方法,其特征在于,该方法通过对文件各字节进行动态混淆编解码实现对文件的编解码操作,具体如下:
2.根据权利要求1所述的基于字节动态转码的文件编解码方法,其特征在于,缓冲区大小默认按4K进行设置,支持动态调整;具体如下:
3.根据权利要求1或2所述的基于字节动态转码的文件编解码方法,其特征在于,混淆密钥值的计算方法采用数组下标与一个字节表示的最大值求商及取模运算的方式。
4.根据权利要求1所述的基于字节动态转码的文件编解码方法,其特征在于,文件编解码具体如下:
5.根据权利要求4所述的基于字节动态转码的文件编解码方法,其特征在于,在缓冲区对字节进行字节混淆编码及解码具体如下:
6.一种基于字节动态转码的文件编解码系统,其特征在于,该系统用于实现如权利要求1到5中任一项所述的基于字节动态转码的文件编解码方法;该系统包括:
7.根据权利要求6所述的基于字节动态转码的文件编解码系统,其特征在于,缓冲区大小默认按4K进行设置,支持动态调整;具体如下:
8.根据权利要求6或
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至5中任一项所述的基于字节动态转码的文件编解码方法。
...【技术特征摘要】
1.一种基于字节动态转码的文件编解码方法,其特征在于,该方法通过对文件各字节进行动态混淆编解码实现对文件的编解码操作,具体如下:
2.根据权利要求1所述的基于字节动态转码的文件编解码方法,其特征在于,缓冲区大小默认按4k进行设置,支持动态调整;具体如下:
3.根据权利要求1或2所述的基于字节动态转码的文件编解码方法,其特征在于,混淆密钥值的计算方法采用数组下标与一个字节表示的最大值求商及取模运算的方式。
4.根据权利要求1所述的基于字节动态转码的文件编解码方法,其特征在于,文件编解码具体如下:
5.根据权利要求4所述的基于字节动态转码的文件编解码方法,其特征在于,在缓冲区对字节进行字节混淆编码及解码具体如下:
...【专利技术属性】
技术研发人员:张辉,张峰,傅德盛,张晓明,金娜,刘学成,刘杰,
申请(专利权)人:浪潮软件科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。