基于字节动态转码的文件编解码方法、系统、设备及介质与流程
- 国知局
- 2024-08-22 15:11:19
本发明涉及编码解码,具体地说是一种基于字节动态转码的文件编解码方法、系统、设备及介质。
背景技术:
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、(三)本发明在原字节的码值通过算法添加混淆值,并将混淆后的数值保存到对应的字节中,为了减少计算资源,混淆值采用数值型数据类型,同时为提高安全性,混淆值根据字节位置采用不同的混淆值,该方式最终实现了文件的加密,保障了文件的安全,同时该方式采用的是基于字节进行混淆处理,因此该方式可应用于各种格式类型的文件;
55、(四)本发明通过将字节编码进行转换的方式实现文档加密,相对于其他常见的加密算法如对称加密算法(aes、des)等,具有易操作、加解密速度快、密钥基于字节动态变化以及加密后的文件大小与原始文件大小一致等优势;
56、(五)本发明基于字节进行编码实现,以字符流对文件进行预处理,获取文件的大小以及字节总数,然后按照字节总数进行计算,获取该文件的混淆基础解,基于混淆基础解,针对每个字节进行偏移混淆,并将混淆后的密钥针对该字节进行转码,直到所有字节处理完毕,最终实现了文件的加解密功能,可应用于各类格式的文件,极大方便了各种格式文件加密的场景和应用。
本文地址:https://www.jishuxx.com/zhuanli/20240822/281548.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。