文件加密方法、装置、电子设备及存储介质与流程

文档序号:25659366发布日期:2021-06-29 22:52阅读:77来源:国知局
文件加密方法、装置、电子设备及存储介质与流程

1.本申请涉及加密技术领域,更具体地,涉及一种文件加密方法、装置、电子设备及存储介质。


背景技术:

2.随着网络技术的发展,信息安全已然成为关注的重点,如果文件以明文的形式在网络传输,或者以明文的形式存储,极有可能导致文件的泄密。为了防止文件泄密,通常对待加密文件进行加密,现有的加密方式对文件加密后,通常使得加密后的文件的数据量变得很大,造成传输资源和存储资源的浪费。


技术实现要素:

3.鉴于上述问题,本申请提出了一种文件加密方法、装置、电子设备及存储介质,能够解决上述问题。
4.第一方面,本申请实施例提供了一种文件加密方法,获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;对所述待加密帧头进行加密处理,获得加密文件。
5.第二方面,本申请实施例提供了一种文件加密装置,待加密文件获取模块,用于获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;待加密帧头获取模块,用于从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;文件加密模块,用于对所述待加密帧头进行加密处理,获得加密文件。
6.第三方面,本申请实施例提供了一种电子设备,一个或多个处理器;存储器;一个或多个应用程序,其中,所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述方法。
7.第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
8.在本实施例提供的文件加密方法中,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,电子设备的cpu开销小,可实现快速加密,并使得加密文件的数据量较小,可以节约网络传输资源和存储资源。
9.本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
10.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1示出了本申请一个实施例提供的文件加密方法的流程示意图;
12.图2示出了本申请又一个实施例提供的文件加密方法的流程示意图;
13.图3示出了本申请另一个实施例提供的文件加密方法的流程示意图;
14.图4示出了本申请一实施例提供的遍历示意图;
15.图5示出了本申请再一个实施例提供的文件加密方法的流程示意图;
16.图6示出了本申请又另一个实施例提供的文件加密方法的流程示意图;
17.图7示出了本申请一实施例提供的分离处理示意图;
18.图8示出了本申请另一实施例提供的分离处理示意图;
19.图9示出了本申请一实施例提供的乱序处理示意图;
20.图10示出了本申请一实施例加密文件示意图;
21.图11示出了本申请一实施例提供的文件加密装置的框图;
22.图12是本申请实施例的用于执行根据本申请实施例的文件加密方法的电子设备的框图;
23.图13示出了本申请实施例的用于保存或者携带实现根据本申请实施例的文件加密方法的程序代码的存储单元。
具体实施方式
24.为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
25.随着网络技术的发展,信息安全已然成为关注的重点,如果文件以明文的形式在网络传输,或者以明文的形式存储,极有可能导致文件的泄密。为了防止文件泄密,通常对待加密文件进行加密,现有的加密方式对文件全文加密后,通常使得加密后的文件的数据量变得很大,造成传输资源和存储资源的浪费。
26.针对上述技术问题,发明人经过长期的研究发现并提出了一种文件加密方法、装置、电子设备及存储介质,从待加密文件的多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,在待加密文件中仅对待加密文件的帧头进行加密,使得加密后的文件的数据量较小,可节约传输资源和存储资源。其中,具体的文件加密方法在后续的实施例中具体说明。
27.图1示出了本申请一个实施例提供的文件加密方法的流程示意图,仅对待加密文件的帧头进行加密,使得加密后的文件的数据量较小。在具体的实施例中,所述文件加密方法应用于图11所示的文件加密装置100以及配置有文件加密装置100的电子设备200(图12)。本实施例将以文件加密方法应用于电子设备为例说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为平板电脑、台式电脑、笔记本电脑、手机等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述文件加密方法具体可以包括如下步骤:
28.步骤s110、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数
据帧中的每个数据帧均包括帧头和帧体。
29.获取待加密文件,待加密文件可以为电子设备本地存储或采集的文件,也可以为从与电子设备连接的服务器下载的文件。
30.可选地,待加密文件可以为音频文件、图片、视频文件等。当待加密文件为音频文件时,待加密文件包括多个音频帧;当待加密文件为图片时,待加密文件包括多个图像帧;当待加密文件为视频文件时,待加密文件包括多个音频帧和多个图像帧。
31.可选地,待加密文件可以为经过预设编码方式编码后的文件。例如,预设编码方式为自由音频压缩编码(free lossless audio codec,简称flac),待加密文件可以为经过flac编码后的flac文件。
32.步骤s120、从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头。
33.遍历待加密文件,从多个数据帧中确定待加密数据帧,其中,待加密数据帧可以为多个数据帧中的部分或者全部,再获取待加密数据帧的帧头作为待加密帧头,当待加密数据帧为部分多个数据帧时,则获取部分帧头作为待加密帧头;当待加密数据帧为全部数据帧时,则获取全部帧头作为待加密帧头。
34.根据待加密文件的重要性,用户对不同的待加密文件设置不同的加密等级。根据加密等级,从多个数据帧中确定待加密数据帧,其中,加密等级与待加密数据帧的个数成正相关,即当加密等级越高时,从多个数据帧中确定待加密数据帧的数量越多,例如可以为全部数据帧;当加密等级越低时,从多个数据帧中确定待加密数据帧的数量越少,例如可以为部分数据帧。
35.当待加密数据帧可以为多个数据帧中的部分时,在一种实施方式中,随机的在多个数据帧中获取部分作为待加密数据帧,可以较快的获取待加密数据帧。
36.在另一种实施方式中,按照一定间隔在多个数据帧中获取部分作为待加密数据帧,均匀的在整个待加密文件中获取待加密数据帧,以减少待加密文件大范围泄密。
37.步骤s130、对所述待加密帧头进行加密处理,获得加密文件。
38.在一种实施方式中,按照预设加密算法对待加密帧头进行加密处理,获得加密文件。可选地,预设加密算法可以为,但不限于安全散列算法(secure hash algorithm,简称sha)、哈希运算消息认证码(hash

based message authentication code,简称hmac)等。
39.在另一种实施方式中,对多个待加密帧头进行乱序处理,以打乱多个待加密帧头在待加密文件中的顺序,获得加密文件。
40.在另一些实施方式中,可以结合预设加密算法和乱序处理对待加密帧头进行加密。具体为,先采用预设加密算法对待加密帧头进行加密处理,再对加密处理后的待加密帧头进行乱序处理,获得加密文件。或者是,先对待加密帧头进行乱序处理,再对乱序处理后待加密帧头进行加密,获得加密文件。
41.在待加密文件中,对待加密数据帧的待加密帧头进行加密,每个数据帧包括的帧头之后排列的是帧体,在读取数据帧时,需要按照从帧头到帧体的读取顺序进行逐一读取,由于帧头经过加密,无法读取帧头中携带的信息,因此,也无法按照读取顺序继续读取帧头后的帧体携带的信息,从而实现对待加密文件的加密。
42.当待加密数据帧为多个数据帧中的部分时,对待加密文件中的部分待加密数据帧
进行加密,使得加密文件中部分数据帧不可见,窃密者无法读取完整的文件,从而实现加密,并且待加密帧头为多个帧头中的部分,因此,在对部分帧头加密可以获得数据量较小的加密文件。
43.当待加密数据帧为多个数据帧中的全部时,对待加密文件中的全部待加密数据帧进行加密,使得加密文件中的所有数据帧均不可见,窃密者完全无法读取文件,从而实现加密。
44.在本实施例提供的文件加密方法中,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,电子设备的处理器开销小,可实现快速加密,并使得加密文件的数据量较小,可以节约网络传输资源和存储资源。
45.在上述实施例的基础上,本实例提供了一种文件加密方法,用于在多个数据帧中确定待加密数据帧,图2示出了本申请又一个实施例提供的文件加密方法的流程示意图,请参阅图2,所述文件加密方法具体可以包括如下步骤:
46.步骤s210、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
47.其中,步骤s210的具体描述请参阅步骤s110,在此不再赘述。
48.步骤s220、按照遍历间隔跳跃遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
49.为了提高对待加密文件的访问效率,可以按照跳跃遍历的方式遍历待加密文件,例如,采用跳跃搜索算法进行跳跃遍历。当遍历访问到帧头标识时,可以确定帧头的位置,并确定帧头对应的数据帧为待加密数据帧。可以理解的是,遍历时访问到的数据帧作为待加密数据帧。
50.当待加密数据帧包括待加密文件中的部分数据帧时,按照遍历间隔跳跃遍历待加密文件,遍历得到的数据帧作为待加密数据帧,按照遍历间隔跳过的数据帧为非加密数据帧,例如,多个数据帧至少包括数据帧1、数据帧2和数据帧3,在进行跳跃遍历时,从数据帧1跳转到数据帧3,确定数据帧1和数据帧3作为待加密数据帧,数据帧2作为非加密数据帧。在加密时,只需对待加密数据帧的待加密帧头加密,而非加密数据帧无需加密。
51.为了提高访问效率,当待加密数据帧包括待加密文件中全部数据帧时,也可以采用跳跃遍历的方式。其中,遍历间隔可以为数据帧的帧体长度,遍历时可以恰好跳过帧体到达下一帧数据帧的帧头,实现快速定位全部数据帧。
52.在遍历待加密文件前,需要先确定遍历间隔。在一种实施方式中,可以根据用户经验,根据待加密数据帧的加密要求,确定加密等级,设置加密等级和遍历间隔之间的对应关系,即预设对应关系,基于预设对应关系,确定加密等级对应的遍历间隔。例如,加密等级可以包括一级加密等级和二级加密等级,其中,一级加密等级高于二级加密等级,遍历间隔a小于遍历间隔b,预设对应关系至少包括一级加密等级和遍历间隔a之间的对应关系,二级加密等级和遍历间隔b之间的对应关系。
53.在另一种实施方式中,当待加密文件中的每个数据帧是编码压缩后的数据帧时,可以根据加密等级、编码方式和数据帧编码压缩前的帧长确定遍历间隔。
54.在另一种实施方式中,遍历间隔可以是预先设置的,用户可以根据待加密文件的种类和加密需求进行调节。
55.步骤s230、获取所述待加密数据帧包括的帧头作为待加密帧头。
56.步骤s240、对所述待加密帧头进行加密处理,获得加密文件。
57.其中,步骤s230

步骤s240的具体描述请参阅步骤s120

步骤s130,在此不再赘述。
58.本实施例提供的文件加密方法,通过对待加密文件以遍历间隔跳跃遍历,从多个数据帧中确定待加密数据帧,并确定待加密数据帧的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,通过跳跃遍历的方式,可以快速定位待加密数据帧,加快了加密进程。
59.本实施例在上述实施例的基础上,提供一种文件加密方法,用于确定遍历间隔,再以遍历间隔遍多个数据帧,以从中均匀获取多个待加密数据帧,实现均匀加密,以提高加密的安全性,其中,所述待加密文件中的所述多个数据帧为对帧体进行编码后的数据帧,图3示出了本申请另一个实施例提供的文件加密方法的流程示意图,请参阅图3,所述文件加密方法具体可以包括如下步骤:
60.步骤s310、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
61.其中,步骤s310的具体描述请参阅步骤s110,在此不再赘述。
62.步骤s320、从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密数据帧在编码前的帧长作为第一帧长。
63.在一种实施方式中,遍历待加密文件,访问到多个数据帧中的第一个数据帧作为第一待加密数据帧。如图4所示,待加密文件至少包括信息头、数据帧1和数据帧2,其中,数据帧1包括帧头1和帧体1,数据帧2包括帧头2和帧体2,对待加密文件从信息头开始遍历,当遍历到帧头1时,确定帧头1对应的数据帧1作为第一数据帧。
64.在另一种实施方式中,遍历所述待加密文件,在多个数据帧中访问到的第一个数据帧作为第一待加密数据帧,可以理解的是,该第一待加密数据帧不是多个数据帧中的第一个数据帧,也可以为多个数据帧中的第二个数据帧或第三个数据帧。例如,根据待加密文件的重要性,用户对不同的待加密文件设置不同的加密等级,根据加密等级,从待加密文件中确定n个待加密数据帧,因此,在多个数据帧中获取的第一待加密帧之后的数据帧的个数大于或等于n

1个即可满足加密需求。
65.信息头包括所述每个数据帧编码前的帧长,因此,可以从信息头中获取第一待加密数据帧在编码前的帧长作为第一帧长。需要说明的是,第一帧长包括第一待加密数据帧在编码前的帧头和帧体的长度之和,即图4中帧头1和帧体1的长度之和。
66.步骤s330、根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧。
67.在本实施例中,首先,获取对数据帧进行编码的编码方式,例如,编码方式可以为flac、美国标准信息交换代码(american standard code for information interchange,简称ascii)等。
68.然后,根据编码方式和第一帧长确定第一遍历间隔,可选地,预先建立多个编码方式、多个帧长和多个遍历间隔之间的对应关系,即预设映射关系,基于预设映射关,确定编
码方式和第一帧长共同对应的第一遍历间隔,例如,当编码方式为flac编码时,通常将数据帧压缩至帧长(即编码前的帧长)的50%,由于帧头的长度通常为帧长的10%,帧体的长度为原始帧长的40%,因此flac编码、帧长和遍历间隔之间的预设映射关可以用下式表达:l=l*40%,其中,l为遍历间隔,l为帧长。当l1为第一帧长时,第一遍历间隔l1如图4所示。
69.再按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第二待加密数据帧。请继续参见图4,继续沿着遍历方向进行遍历,在跳转第一遍历间隔后,访问到帧头2,则帧头2对应的数据帧2作为第二待加密数据帧。
70.需要说明的是,除了获得的待加密数据帧为多个数据帧的全部。还可以为,在加密等级较低的情况下,待加密数据帧为多个数据帧的部分,即可以设置较大的第一遍历间隔,在遍历时跳过第一数据帧的帧体和部分数据帧,使得获得的待加密数据帧为多个数据帧的部分。继续结合上述例子,当编码方式为flac编码时,帧体长度为原始帧长的40%,跳过的数据帧的个数为n个,跳跃n个数据帧的长度为50%l*n,则flac编码、帧长和遍历间隔之间的预设映射关系可以用下式表达:l=l*(40%+50%n)。结合图4,以n为1为例,跳过第一数据帧的帧体和数据帧2,l=l*90%,即第一遍历间隔跳过第一数据帧的帧体(40%)和数据帧2(50%),则第二待加密数据帧为图4中的数据帧3。
71.还需要说明的是,在多个数据帧的信息差异较小的情况下,例如,多个数据帧为多个音频帧,在多个音频帧中声音的音色、音调、语速等变化较小时,多个音频帧之间的差异较小,差异较小的数据帧在压缩前的帧长几乎一致,因此,在遍历整个待加密文件时,使用相同的遍历间隔,即使用第一遍历间隔遍历整个待加密文件。
72.步骤s340、将所述第一待加密数据帧和所述第二待加密数据帧,确定为所述待加密数据帧。
73.需要说明的是,多个数据帧的数量不限于图4中的数据帧,还可以为更多的数据帧,因此,待加密数据帧也不限于第一待加密数据帧和第二待加密数据帧,还可以为更多的数据帧。
74.步骤s350、获取所述待加密数据帧包括的帧头作为待加密帧头,并对所述待加密帧头进行加密处理,获得加密文件。
75.其中,步骤s350的具体描述请参阅步骤s110,在此不再赘述。
76.在本实施例中,从多个数据帧中确定第一加密数据帧,并获取第一待加密数据帧在编码前的帧长作为第一帧长,根据第一帧长确定第一遍历间隔,再根据第一遍历间隔遍历待加密文件,获得第二待加密数据帧,获得的第一待加密数据帧和第二待加密数据帧作为待加密数据帧,并对待加密数据帧的待加密帧头进行加密,可以快速获得加密文件。
77.本实施例在上述实施例的基础上,提供了一种文件加密方法,用于根据不同的遍历间隔遍历待加密文件,获得待加密数据帧,并对待加密数据帧的待加密帧头进行加密,获得加密后的文件,图5示出了本申请再一个实施例提供的文件加密方法的流程示意图,请参阅图5,所述文件加密方法具体可以包括如下步骤:
78.步骤s410、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
79.其中,步骤s410的具体描述请参阅步骤s110,在此不再赘述。
80.步骤s420、从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密
数据帧在编码前的帧长作为第一帧长。
81.步骤s430、根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧。
82.其中,步骤s420

步骤s430的具体描述请参阅步骤s320

步骤s330,在此不再赘述。
83.在多个数据帧的信息差异较大的情况下,例如,多个数据帧为多个音频帧,在多个音频帧中声音的音色、音调、语速等变化较大时,多个音频帧之间的差异较大,差异较大的数据帧在压缩前的帧长差异也较大,因此,在遍历整个待加密文件时,需要按照不同的遍历间隔遍历,以快速准确的获取待加密数据帧。
84.步骤s440、获取所述第二待加密数据帧在编码前的帧长作为第二帧长。
85.由于信息头中包括了每个数据帧编码前的帧长,从信息头中获取第二待加密数据帧在编码前的帧长作为第二帧长,可以理解的是,第二帧长包括第二待加密数据帧在编码前的帧头和帧体的长度之和。请参阅图4,待加密文件还包括数据帧3,其中,数据帧3包括帧头3和帧体3,在图4中,第二帧长为帧头2和帧体2的长度之和。
86.步骤s450、根据所述第二帧长确定第二遍历间隔,并按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第三待加密数据帧。
87.类似地,首先,获取对数据帧进行编码的编码方式,例如,编码方式可以为flac、ascii等。
88.然后,根据编码方式和第二帧长确定第二遍历间隔,根据上述预先建立的多个编码方式、多个帧长和多个遍历间隔之间的预设映射关系,基于预设映射关系,确定编码方式和第二帧长共同对应的第二遍历间隔,
89.例如,当编码方式为flac编码时,flac编码、帧长和遍历间隔之间的预设映射关系可以用下式表达:l=l*40%,其中,l为遍历间隔,l为帧长。当l2为第二帧长时,第二遍历间隔l2如图4所示。
90.再按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第三待加密数据帧。请继续参见图4,继续沿着遍历方向进行遍历,在跳转第二遍历间隔后,访问到帧头3,则帧头3对应的数据帧3作为第三待加密数据帧。
91.需要说明的是,多个数据帧不限于上述的数据帧1、数据帧2和数据帧3,还可以为更多的数据帧,都是根据前一个数据帧的帧长确定遍历间隔,并按照遍历间隔进行遍历。
92.步骤s460、将所述第一待加密数据帧、所述第二待加密数据帧和所述第三待加密数据帧,确定为所述待加密数据帧。
93.需要说明的是,多个数据帧的数量不限于图4中的数据帧,还可以为更多的数据帧,因此,待加密数据帧也不限于第一待加密数据帧、第二待加密数据帧和第三待加密数据帧,还可以为更多的数据帧。
94.步骤s470、获取所述待加密数据帧包括的帧头作为待加密帧头,并对所述待加密帧头进行加密处理,获得加密文件。
95.其中,步骤s470的具体描述请参阅步骤s130,在此不再赘述。
96.在本实施例中,采用不同的遍历间隔对待加密文件进行遍历,使得获得的多个待加密数据帧均匀分布于待加密文件中,再对待加密数据帧的待加密帧头进行加密处理,获得加密文件,以提高加密文件的安全性。
97.本实施例在上述实施例的基础上,提供了一种文件加密方法,通过加密处理和乱序处理,提高加密文件的安全性。图6示出了本申请又另一个实施例提供的文件加密方法的流程示意图,请参阅图6,所述文件加密方法具体可以包括如下步骤:
98.步骤s510、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
99.步骤s520、从所述多个数据帧中确定所述待加密数据帧。
100.其中,步骤s510

步骤s520的具体描述请参阅步骤s110

步骤s120,在此不再赘述。
101.步骤s530、对所述待加密数据帧进行分离处理,获得分离出的所述待加密数据帧的帧头作为所述待加密帧头。
102.对待加密数据帧进行分离处理,结合图4中的例子,获得的分离处理的结果如图7所示,分离处理结果至少包括帧头1、帧头2、帧头3、帧体1、帧体2和帧体3。并确定待加密数据帧的帧头作为待加密帧头。
103.为了进一步提高加密文件的安全性,需要对分离后的多个帧头和多个帧体进行乱序化处理,为了保证在解密加密文件时,获得多个数据帧原有的序列,需要预先建立每个数据帧包括的帧头和帧体之间的绑定关系。
104.在一种实施方式中,获取多个数据帧中的每个数据帧包括的帧头和帧体的位置信息;基于位置信息,将每个数据帧包括的帧头和帧体进行绑定,可选地,可以将每个数据帧对应的绑定关系与每个数据帧包括的帧头绑定,请参阅与图8,绑定关系包括第一绑定关系、第二绑定关系和第三绑定关系。
105.在另一种实施方式中,获取多个数据帧中的每个数据帧包括的帧头和帧体的标识信息;基于标识信息,将每个数据帧包括的帧头和帧体进行绑定。
106.步骤s540、对所述多个数据帧包括的多个帧头和多个帧体进行乱序处理,其中,所述多个帧头包括所述待加密帧头。
107.乱序处理指的是打乱多个帧头和多个帧体在待加密文件中原有的排列顺序,对多个数据帧包括的多个帧头和多个帧体进行乱序处理多个数据帧包括的多个帧头和多个帧体进行乱序处理的结果可以如图9所示。
108.步骤s550、对乱序处理后的待加密帧头进行加密,获得所述加密文件。
109.采用预设加密算法或者秘钥对乱序处理后的待加密帧头进行加密,可以是对乱序处理后的多个待加密帧头进行分别加密,也可以是对乱序处理后的多个待加密帧头合并在一起进行加密,可选地,预设加密算法可以为,但不限于sha、hmac等。获得的加密文件如图10所示。
110.加密文件中,包括乱序处理后再加密的待加密帧头、多个帧头中除待加密帧头以外的帧头、多个帧体(包括待加密数据帧的帧体)。
111.在对加密文件进行解密时,通过秘钥对加密后的待加密帧头进行解密,获得乱序后的待加密帧头,根据绑定关系,获取同一数据帧包括的帧头和帧体,得到多个数据帧,根据位置信息,还原多个数据帧在原始待加密文件中的位置,按照从帧头到帧体的顺序,获取帧体中携带的信息。
112.可选地,对应待加密帧头,还可以先分别对多个待加密帧头进行加密,再对分别加密后的多个待加密进行乱序处理,获得加密文件。
113.在本实施例中,通过乱序处理和加密处理,获得待加密文件,提高了待加密文件的安全性。
114.为实现上述方法类实施例,本实施例提供一种文件加密装置,图11示出了本申请一实施例提供的文件加密装置的框图,请参阅图11,文件加密装置100包括:待加密文件获取模块110、待加密帧头获取模块120和文件加密模块130。
115.待加密文件获取模块110,用于获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;
116.待加密帧头获取模块120,用于从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;
117.文件加密模块130,用于对所述待加密帧头进行加密处理,获得加密文件。
118.可选地,待加密文件获取模块110包括:遍历子模块。
119.遍历子模块,用于遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
120.可选地,遍历子模块包括:跳跃遍历子模块。
121.跳跃遍历子模块,用于按照遍历间隔跳跃遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
122.可选地,待加密帧头获取模块120包括:第一帧长确定子模块、第二待加密数据帧确定子模块和确定子模块。
123.第一帧长确定子模块,用于从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密数据帧在编码前的帧长作为第一帧长;
124.第二待加密数据帧确定子模块,用于根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧;
125.确定子模块,用于将所述第一待加密数据帧和所述第二待加密数据帧,确定为所述待加密数据帧。
126.可选地,确定子模块包括:第二帧长确定子模块、第三待加密数据帧确定子模块和共同确定子模块。
127.第二帧长确定子模块,用于获取所述第二待加密数据帧在编码前的帧长作为第二帧长;
128.第三待加密数据帧确定子模块,用于根据所述第二帧长确定第二遍历间隔,并按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第三待加密数据帧;
129.共同确定子模块,用于将所述第一待加密数据帧、所述第二待加密数据帧和所述第三待加密数据帧,确定为所述待加密数据帧。
130.可选地,第一帧长确定子模块包括:编码方式确定子模块、第一遍历间隔确定子模块和第二待加密数据帧确定子模块。
131.编码方式确定子模块,用于获取对数据帧进行编码的编码方式;
132.第一遍历间隔确定子模块,用于根据所述编码方式和所述第一帧长确定所述第一遍历间隔;
133.第二待加密数据帧确定子模块,用于按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第二待加密数据帧。
134.可选地,所述待加密文件还包括信息头,所述信息头包括所述每个数据帧编码前的帧长,第一帧长确定子模块包括:第一帧长获取子模块。
135.第一帧长获取子模块,用于从所述信息头中获取所述第一待加密数据帧在编码前的帧长作为所述第一帧长。
136.可选地,待加密帧头获取模块120包括:待加密数据帧确定子模块和分离子模块。
137.待加密数据帧确定子模块,用于从所述多个数据帧中确定所述待加密数据帧;
138.分离子模块,用于对所述待加密数据帧进行分离处理,获得分离出的所述待加密数据帧的帧头作为所述待加密帧头。
139.可选地,所述每个数据帧包括的帧头和帧体存在绑定关系,文件加密模块130包括:乱序子模块和加密子模块。
140.乱序子模块,用于对所述多个数据帧包括的多个帧头和多个帧体进行乱序处理,其中,所述多个帧头包括所述待加密帧头;
141.加密子模块,用于对乱序处理后的待加密帧头进行加密,获得所述加密文件。
142.可选地,文件加密装置100还包括:位置信息获取模块和绑定模块。
143.位置信息获取模块,用于获取所述多个数据帧中的每个数据帧包括的帧头和帧体的位置信息;
144.绑定模块,用于基于所述位置信息,将所述每个数据帧包括的帧头和帧体进行绑定。
145.可选地,所述待加密数据帧为所述多个数据帧中的部分或者全部。
146.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
147.在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
148.另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
149.图12是本申请实施例的用于执行根据本申请实施例的文件加密方法的电子设备的框图,请参阅图12,其示出了本申请实施例提供的一种电子设备200的结构框图。该电子设备200可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备200可以包括一个或多个如下部件:处理器210、存储器220以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器220中并被配置为由一个或多个处理器210执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
150.其中,处理器210可以包括一个或者多个处理核。处理器210利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器220内的指令、程序、代码集或指令集,以及调用存储在存储器220内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器210可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器310可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中
的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责待显示组件的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器210中,单独通过一块通信芯片进行实现。
151.存储器220可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read

only memory)。存储器220可用于存储指令、程序、代码、代码集或指令集。存储器220可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备200在使用中所创建的数据(比如历史配置文件)等。
152.图13示出了本申请实施例的用于保存或者携带实现根据本申请实施例的文件加密方法的程序代码的存储单元,请参阅13,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
153.计算机可读存储介质300可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质400包括非易失性计算机可读介质(non

transitory computer

readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
154.在本实施例提供的文件加密方法、装置、电子设备及存储介质中,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,可实现快速加密,并使得加密文件的数据量较小,可以节约网络传输资源和存储资源。
155.最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1