CN113051592A - 文件加密方法、装置、电子设备及存储介质 - Google Patents

文件加密方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113051592A
CN113051592A CN202110349053.4A CN202110349053A CN113051592A CN 113051592 A CN113051592 A CN 113051592A CN 202110349053 A CN202110349053 A CN 202110349053A CN 113051592 A CN113051592 A CN 113051592A
Authority
CN
China
Prior art keywords
encrypted
frame
data
file
data frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110349053.4A
Other languages
English (en)
Inventor
卢宇机
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Voiceai Technologies Co ltd
Original Assignee
Voiceai Technologies Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Voiceai Technologies Co ltd filed Critical Voiceai Technologies Co ltd
Priority to CN202110349053.4A priority Critical patent/CN113051592A/zh
Publication of CN113051592A publication Critical patent/CN113051592A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种文件加密方法、装置、电子设备及存储介质,涉及加密技术领域,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,使得加密文件的数据量较小,可以节约网络传输资源和存储资源。

Description

文件加密方法、装置、电子设备及存储介质
技术领域
本申请涉及加密技术领域,更具体地,涉及一种文件加密方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,信息安全已然成为关注的重点,如果文件以明文的形式在网络传输,或者以明文的形式存储,极有可能导致文件的泄密。为了防止文件泄密,通常对待加密文件进行加密,现有的加密方式对文件加密后,通常使得加密后的文件的数据量变得很大,造成传输资源和存储资源的浪费。
发明内容
鉴于上述问题,本申请提出了一种文件加密方法、装置、电子设备及存储介质,能够解决上述问题。
第一方面,本申请实施例提供了一种文件加密方法,获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;对所述待加密帧头进行加密处理,获得加密文件。
第二方面,本申请实施例提供了一种文件加密装置,待加密文件获取模块,用于获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;待加密帧头获取模块,用于从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;文件加密模块,用于对所述待加密帧头进行加密处理,获得加密文件。
第三方面,本申请实施例提供了一种电子设备,一个或多个处理器;存储器;一个或多个应用程序,其中,所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
在本实施例提供的文件加密方法中,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,电子设备的CPU开销小,可实现快速加密,并使得加密文件的数据量较小,可以节约网络传输资源和存储资源。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个实施例提供的文件加密方法的流程示意图;
图2示出了本申请又一个实施例提供的文件加密方法的流程示意图;
图3示出了本申请另一个实施例提供的文件加密方法的流程示意图;
图4示出了本申请一实施例提供的遍历示意图;
图5示出了本申请再一个实施例提供的文件加密方法的流程示意图;
图6示出了本申请又另一个实施例提供的文件加密方法的流程示意图;
图7示出了本申请一实施例提供的分离处理示意图;
图8示出了本申请另一实施例提供的分离处理示意图;
图9示出了本申请一实施例提供的乱序处理示意图;
图10示出了本申请一实施例加密文件示意图;
图11示出了本申请一实施例提供的文件加密装置的框图;
图12是本申请实施例的用于执行根据本申请实施例的文件加密方法的电子设备的框图;
图13示出了本申请实施例的用于保存或者携带实现根据本申请实施例的文件加密方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着网络技术的发展,信息安全已然成为关注的重点,如果文件以明文的形式在网络传输,或者以明文的形式存储,极有可能导致文件的泄密。为了防止文件泄密,通常对待加密文件进行加密,现有的加密方式对文件全文加密后,通常使得加密后的文件的数据量变得很大,造成传输资源和存储资源的浪费。
针对上述技术问题,发明人经过长期的研究发现并提出了一种文件加密方法、装置、电子设备及存储介质,从待加密文件的多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,在待加密文件中仅对待加密文件的帧头进行加密,使得加密后的文件的数据量较小,可节约传输资源和存储资源。其中,具体的文件加密方法在后续的实施例中具体说明。
图1示出了本申请一个实施例提供的文件加密方法的流程示意图,仅对待加密文件的帧头进行加密,使得加密后的文件的数据量较小。在具体的实施例中,所述文件加密方法应用于图11所示的文件加密装置100以及配置有文件加密装置100的电子设备200(图12)。本实施例将以文件加密方法应用于电子设备为例说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为平板电脑、台式电脑、笔记本电脑、手机等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述文件加密方法具体可以包括如下步骤:
步骤S110、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
获取待加密文件,待加密文件可以为电子设备本地存储或采集的文件,也可以为从与电子设备连接的服务器下载的文件。
可选地,待加密文件可以为音频文件、图片、视频文件等。当待加密文件为音频文件时,待加密文件包括多个音频帧;当待加密文件为图片时,待加密文件包括多个图像帧;当待加密文件为视频文件时,待加密文件包括多个音频帧和多个图像帧。
可选地,待加密文件可以为经过预设编码方式编码后的文件。例如,预设编码方式为自由音频压缩编码(Free Lossless Audio Codec,简称FLAC),待加密文件可以为经过FLAC编码后的FLAC文件。
步骤S120、从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头。
遍历待加密文件,从多个数据帧中确定待加密数据帧,其中,待加密数据帧可以为多个数据帧中的部分或者全部,再获取待加密数据帧的帧头作为待加密帧头,当待加密数据帧为部分多个数据帧时,则获取部分帧头作为待加密帧头;当待加密数据帧为全部数据帧时,则获取全部帧头作为待加密帧头。
根据待加密文件的重要性,用户对不同的待加密文件设置不同的加密等级。根据加密等级,从多个数据帧中确定待加密数据帧,其中,加密等级与待加密数据帧的个数成正相关,即当加密等级越高时,从多个数据帧中确定待加密数据帧的数量越多,例如可以为全部数据帧;当加密等级越低时,从多个数据帧中确定待加密数据帧的数量越少,例如可以为部分数据帧。
当待加密数据帧可以为多个数据帧中的部分时,在一种实施方式中,随机的在多个数据帧中获取部分作为待加密数据帧,可以较快的获取待加密数据帧。
在另一种实施方式中,按照一定间隔在多个数据帧中获取部分作为待加密数据帧,均匀的在整个待加密文件中获取待加密数据帧,以减少待加密文件大范围泄密。
步骤S130、对所述待加密帧头进行加密处理,获得加密文件。
在一种实施方式中,按照预设加密算法对待加密帧头进行加密处理,获得加密文件。可选地,预设加密算法可以为,但不限于安全散列算法(Secure Hash Algorithm,简称SHA)、哈希运算消息认证码(Hash-based Message Authentication Code,简称HMAC)等。
在另一种实施方式中,对多个待加密帧头进行乱序处理,以打乱多个待加密帧头在待加密文件中的顺序,获得加密文件。
在另一些实施方式中,可以结合预设加密算法和乱序处理对待加密帧头进行加密。具体为,先采用预设加密算法对待加密帧头进行加密处理,再对加密处理后的待加密帧头进行乱序处理,获得加密文件。或者是,先对待加密帧头进行乱序处理,再对乱序处理后待加密帧头进行加密,获得加密文件。
在待加密文件中,对待加密数据帧的待加密帧头进行加密,每个数据帧包括的帧头之后排列的是帧体,在读取数据帧时,需要按照从帧头到帧体的读取顺序进行逐一读取,由于帧头经过加密,无法读取帧头中携带的信息,因此,也无法按照读取顺序继续读取帧头后的帧体携带的信息,从而实现对待加密文件的加密。
当待加密数据帧为多个数据帧中的部分时,对待加密文件中的部分待加密数据帧进行加密,使得加密文件中部分数据帧不可见,窃密者无法读取完整的文件,从而实现加密,并且待加密帧头为多个帧头中的部分,因此,在对部分帧头加密可以获得数据量较小的加密文件。
当待加密数据帧为多个数据帧中的全部时,对待加密文件中的全部待加密数据帧进行加密,使得加密文件中的所有数据帧均不可见,窃密者完全无法读取文件,从而实现加密。
在本实施例提供的文件加密方法中,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,电子设备的处理器开销小,可实现快速加密,并使得加密文件的数据量较小,可以节约网络传输资源和存储资源。
在上述实施例的基础上,本实例提供了一种文件加密方法,用于在多个数据帧中确定待加密数据帧,图2示出了本申请又一个实施例提供的文件加密方法的流程示意图,请参阅图2,所述文件加密方法具体可以包括如下步骤:
步骤S210、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
其中,步骤S210的具体描述请参阅步骤S110,在此不再赘述。
步骤S220、按照遍历间隔跳跃遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
为了提高对待加密文件的访问效率,可以按照跳跃遍历的方式遍历待加密文件,例如,采用跳跃搜索算法进行跳跃遍历。当遍历访问到帧头标识时,可以确定帧头的位置,并确定帧头对应的数据帧为待加密数据帧。可以理解的是,遍历时访问到的数据帧作为待加密数据帧。
当待加密数据帧包括待加密文件中的部分数据帧时,按照遍历间隔跳跃遍历待加密文件,遍历得到的数据帧作为待加密数据帧,按照遍历间隔跳过的数据帧为非加密数据帧,例如,多个数据帧至少包括数据帧1、数据帧2和数据帧3,在进行跳跃遍历时,从数据帧1跳转到数据帧3,确定数据帧1和数据帧3作为待加密数据帧,数据帧2作为非加密数据帧。在加密时,只需对待加密数据帧的待加密帧头加密,而非加密数据帧无需加密。
为了提高访问效率,当待加密数据帧包括待加密文件中全部数据帧时,也可以采用跳跃遍历的方式。其中,遍历间隔可以为数据帧的帧体长度,遍历时可以恰好跳过帧体到达下一帧数据帧的帧头,实现快速定位全部数据帧。
在遍历待加密文件前,需要先确定遍历间隔。在一种实施方式中,可以根据用户经验,根据待加密数据帧的加密要求,确定加密等级,设置加密等级和遍历间隔之间的对应关系,即预设对应关系,基于预设对应关系,确定加密等级对应的遍历间隔。例如,加密等级可以包括一级加密等级和二级加密等级,其中,一级加密等级高于二级加密等级,遍历间隔A小于遍历间隔B,预设对应关系至少包括一级加密等级和遍历间隔A之间的对应关系,二级加密等级和遍历间隔B之间的对应关系。
在另一种实施方式中,当待加密文件中的每个数据帧是编码压缩后的数据帧时,可以根据加密等级、编码方式和数据帧编码压缩前的帧长确定遍历间隔。
在另一种实施方式中,遍历间隔可以是预先设置的,用户可以根据待加密文件的种类和加密需求进行调节。
步骤S230、获取所述待加密数据帧包括的帧头作为待加密帧头。
步骤S240、对所述待加密帧头进行加密处理,获得加密文件。
其中,步骤S230-步骤S240的具体描述请参阅步骤S120-步骤S130,在此不再赘述。
本实施例提供的文件加密方法,通过对待加密文件以遍历间隔跳跃遍历,从多个数据帧中确定待加密数据帧,并确定待加密数据帧的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,通过跳跃遍历的方式,可以快速定位待加密数据帧,加快了加密进程。
本实施例在上述实施例的基础上,提供一种文件加密方法,用于确定遍历间隔,再以遍历间隔遍多个数据帧,以从中均匀获取多个待加密数据帧,实现均匀加密,以提高加密的安全性,其中,所述待加密文件中的所述多个数据帧为对帧体进行编码后的数据帧,图3示出了本申请另一个实施例提供的文件加密方法的流程示意图,请参阅图3,所述文件加密方法具体可以包括如下步骤:
步骤S310、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
其中,步骤S310的具体描述请参阅步骤S110,在此不再赘述。
步骤S320、从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密数据帧在编码前的帧长作为第一帧长。
在一种实施方式中,遍历待加密文件,访问到多个数据帧中的第一个数据帧作为第一待加密数据帧。如图4所示,待加密文件至少包括信息头、数据帧1和数据帧2,其中,数据帧1包括帧头1和帧体1,数据帧2包括帧头2和帧体2,对待加密文件从信息头开始遍历,当遍历到帧头1时,确定帧头1对应的数据帧1作为第一数据帧。
在另一种实施方式中,遍历所述待加密文件,在多个数据帧中访问到的第一个数据帧作为第一待加密数据帧,可以理解的是,该第一待加密数据帧不是多个数据帧中的第一个数据帧,也可以为多个数据帧中的第二个数据帧或第三个数据帧。例如,根据待加密文件的重要性,用户对不同的待加密文件设置不同的加密等级,根据加密等级,从待加密文件中确定N个待加密数据帧,因此,在多个数据帧中获取的第一待加密帧之后的数据帧的个数大于或等于N-1个即可满足加密需求。
信息头包括所述每个数据帧编码前的帧长,因此,可以从信息头中获取第一待加密数据帧在编码前的帧长作为第一帧长。需要说明的是,第一帧长包括第一待加密数据帧在编码前的帧头和帧体的长度之和,即图4中帧头1和帧体1的长度之和。
步骤S330、根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧。
在本实施例中,首先,获取对数据帧进行编码的编码方式,例如,编码方式可以为FLAC、美国标准信息交换代码(American Standard Code for Information Interchange,简称ASCII)等。
然后,根据编码方式和第一帧长确定第一遍历间隔,可选地,预先建立多个编码方式、多个帧长和多个遍历间隔之间的对应关系,即预设映射关系,基于预设映射关,确定编码方式和第一帧长共同对应的第一遍历间隔,例如,当编码方式为FLAC编码时,通常将数据帧压缩至帧长(即编码前的帧长)的50%,由于帧头的长度通常为帧长的10%,帧体的长度为原始帧长的40%,因此FLAC编码、帧长和遍历间隔之间的预设映射关可以用下式表达:l=L*40%,其中,l为遍历间隔,L为帧长。当L1为第一帧长时,第一遍历间隔l1如图4所示。
再按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第二待加密数据帧。请继续参见图4,继续沿着遍历方向进行遍历,在跳转第一遍历间隔后,访问到帧头2,则帧头2对应的数据帧2作为第二待加密数据帧。
需要说明的是,除了获得的待加密数据帧为多个数据帧的全部。还可以为,在加密等级较低的情况下,待加密数据帧为多个数据帧的部分,即可以设置较大的第一遍历间隔,在遍历时跳过第一数据帧的帧体和部分数据帧,使得获得的待加密数据帧为多个数据帧的部分。继续结合上述例子,当编码方式为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。
还需要说明的是,在多个数据帧的信息差异较小的情况下,例如,多个数据帧为多个音频帧,在多个音频帧中声音的音色、音调、语速等变化较小时,多个音频帧之间的差异较小,差异较小的数据帧在压缩前的帧长几乎一致,因此,在遍历整个待加密文件时,使用相同的遍历间隔,即使用第一遍历间隔遍历整个待加密文件。
步骤S340、将所述第一待加密数据帧和所述第二待加密数据帧,确定为所述待加密数据帧。
需要说明的是,多个数据帧的数量不限于图4中的数据帧,还可以为更多的数据帧,因此,待加密数据帧也不限于第一待加密数据帧和第二待加密数据帧,还可以为更多的数据帧。
步骤S350、获取所述待加密数据帧包括的帧头作为待加密帧头,并对所述待加密帧头进行加密处理,获得加密文件。
其中,步骤S350的具体描述请参阅步骤S110,在此不再赘述。
在本实施例中,从多个数据帧中确定第一加密数据帧,并获取第一待加密数据帧在编码前的帧长作为第一帧长,根据第一帧长确定第一遍历间隔,再根据第一遍历间隔遍历待加密文件,获得第二待加密数据帧,获得的第一待加密数据帧和第二待加密数据帧作为待加密数据帧,并对待加密数据帧的待加密帧头进行加密,可以快速获得加密文件。
本实施例在上述实施例的基础上,提供了一种文件加密方法,用于根据不同的遍历间隔遍历待加密文件,获得待加密数据帧,并对待加密数据帧的待加密帧头进行加密,获得加密后的文件,图5示出了本申请再一个实施例提供的文件加密方法的流程示意图,请参阅图5,所述文件加密方法具体可以包括如下步骤:
步骤S410、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
其中,步骤S410的具体描述请参阅步骤S110,在此不再赘述。
步骤S420、从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密数据帧在编码前的帧长作为第一帧长。
步骤S430、根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧。
其中,步骤S420-步骤S430的具体描述请参阅步骤S320-步骤S330,在此不再赘述。
在多个数据帧的信息差异较大的情况下,例如,多个数据帧为多个音频帧,在多个音频帧中声音的音色、音调、语速等变化较大时,多个音频帧之间的差异较大,差异较大的数据帧在压缩前的帧长差异也较大,因此,在遍历整个待加密文件时,需要按照不同的遍历间隔遍历,以快速准确的获取待加密数据帧。
步骤S440、获取所述第二待加密数据帧在编码前的帧长作为第二帧长。
由于信息头中包括了每个数据帧编码前的帧长,从信息头中获取第二待加密数据帧在编码前的帧长作为第二帧长,可以理解的是,第二帧长包括第二待加密数据帧在编码前的帧头和帧体的长度之和。请参阅图4,待加密文件还包括数据帧3,其中,数据帧3包括帧头3和帧体3,在图4中,第二帧长为帧头2和帧体2的长度之和。
步骤S450、根据所述第二帧长确定第二遍历间隔,并按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第三待加密数据帧。
类似地,首先,获取对数据帧进行编码的编码方式,例如,编码方式可以为FLAC、ASCII等。
然后,根据编码方式和第二帧长确定第二遍历间隔,根据上述预先建立的多个编码方式、多个帧长和多个遍历间隔之间的预设映射关系,基于预设映射关系,确定编码方式和第二帧长共同对应的第二遍历间隔,
例如,当编码方式为FLAC编码时,FLAC编码、帧长和遍历间隔之间的预设映射关系可以用下式表达:l=L*40%,其中,l为遍历间隔,L为帧长。当L2为第二帧长时,第二遍历间隔l2如图4所示。
再按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第三待加密数据帧。请继续参见图4,继续沿着遍历方向进行遍历,在跳转第二遍历间隔后,访问到帧头3,则帧头3对应的数据帧3作为第三待加密数据帧。
需要说明的是,多个数据帧不限于上述的数据帧1、数据帧2和数据帧3,还可以为更多的数据帧,都是根据前一个数据帧的帧长确定遍历间隔,并按照遍历间隔进行遍历。
步骤S460、将所述第一待加密数据帧、所述第二待加密数据帧和所述第三待加密数据帧,确定为所述待加密数据帧。
需要说明的是,多个数据帧的数量不限于图4中的数据帧,还可以为更多的数据帧,因此,待加密数据帧也不限于第一待加密数据帧、第二待加密数据帧和第三待加密数据帧,还可以为更多的数据帧。
步骤S470、获取所述待加密数据帧包括的帧头作为待加密帧头,并对所述待加密帧头进行加密处理,获得加密文件。
其中,步骤S470的具体描述请参阅步骤S130,在此不再赘述。
在本实施例中,采用不同的遍历间隔对待加密文件进行遍历,使得获得的多个待加密数据帧均匀分布于待加密文件中,再对待加密数据帧的待加密帧头进行加密处理,获得加密文件,以提高加密文件的安全性。
本实施例在上述实施例的基础上,提供了一种文件加密方法,通过加密处理和乱序处理,提高加密文件的安全性。图6示出了本申请又另一个实施例提供的文件加密方法的流程示意图,请参阅图6,所述文件加密方法具体可以包括如下步骤:
步骤S510、获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体。
步骤S520、从所述多个数据帧中确定所述待加密数据帧。
其中,步骤S510-步骤S520的具体描述请参阅步骤S110-步骤S120,在此不再赘述。
步骤S530、对所述待加密数据帧进行分离处理,获得分离出的所述待加密数据帧的帧头作为所述待加密帧头。
对待加密数据帧进行分离处理,结合图4中的例子,获得的分离处理的结果如图7所示,分离处理结果至少包括帧头1、帧头2、帧头3、帧体1、帧体2和帧体3。并确定待加密数据帧的帧头作为待加密帧头。
为了进一步提高加密文件的安全性,需要对分离后的多个帧头和多个帧体进行乱序化处理,为了保证在解密加密文件时,获得多个数据帧原有的序列,需要预先建立每个数据帧包括的帧头和帧体之间的绑定关系。
在一种实施方式中,获取多个数据帧中的每个数据帧包括的帧头和帧体的位置信息;基于位置信息,将每个数据帧包括的帧头和帧体进行绑定,可选地,可以将每个数据帧对应的绑定关系与每个数据帧包括的帧头绑定,请参阅与图8,绑定关系包括第一绑定关系、第二绑定关系和第三绑定关系。
在另一种实施方式中,获取多个数据帧中的每个数据帧包括的帧头和帧体的标识信息;基于标识信息,将每个数据帧包括的帧头和帧体进行绑定。
步骤S540、对所述多个数据帧包括的多个帧头和多个帧体进行乱序处理,其中,所述多个帧头包括所述待加密帧头。
乱序处理指的是打乱多个帧头和多个帧体在待加密文件中原有的排列顺序,对多个数据帧包括的多个帧头和多个帧体进行乱序处理多个数据帧包括的多个帧头和多个帧体进行乱序处理的结果可以如图9所示。
步骤S550、对乱序处理后的待加密帧头进行加密,获得所述加密文件。
采用预设加密算法或者秘钥对乱序处理后的待加密帧头进行加密,可以是对乱序处理后的多个待加密帧头进行分别加密,也可以是对乱序处理后的多个待加密帧头合并在一起进行加密,可选地,预设加密算法可以为,但不限于SHA、HMAC等。获得的加密文件如图10所示。
加密文件中,包括乱序处理后再加密的待加密帧头、多个帧头中除待加密帧头以外的帧头、多个帧体(包括待加密数据帧的帧体)。
在对加密文件进行解密时,通过秘钥对加密后的待加密帧头进行解密,获得乱序后的待加密帧头,根据绑定关系,获取同一数据帧包括的帧头和帧体,得到多个数据帧,根据位置信息,还原多个数据帧在原始待加密文件中的位置,按照从帧头到帧体的顺序,获取帧体中携带的信息。
可选地,对应待加密帧头,还可以先分别对多个待加密帧头进行加密,再对分别加密后的多个待加密进行乱序处理,获得加密文件。
在本实施例中,通过乱序处理和加密处理,获得待加密文件,提高了待加密文件的安全性。
为实现上述方法类实施例,本实施例提供一种文件加密装置,图11示出了本申请一实施例提供的文件加密装置的框图,请参阅图11,文件加密装置100包括:待加密文件获取模块110、待加密帧头获取模块120和文件加密模块130。
待加密文件获取模块110,用于获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;
待加密帧头获取模块120,用于从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;
文件加密模块130,用于对所述待加密帧头进行加密处理,获得加密文件。
可选地,待加密文件获取模块110包括:遍历子模块。
遍历子模块,用于遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
可选地,遍历子模块包括:跳跃遍历子模块。
跳跃遍历子模块,用于按照遍历间隔跳跃遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
可选地,待加密帧头获取模块120包括:第一帧长确定子模块、第二待加密数据帧确定子模块和确定子模块。
第一帧长确定子模块,用于从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密数据帧在编码前的帧长作为第一帧长;
第二待加密数据帧确定子模块,用于根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧;
确定子模块,用于将所述第一待加密数据帧和所述第二待加密数据帧,确定为所述待加密数据帧。
可选地,确定子模块包括:第二帧长确定子模块、第三待加密数据帧确定子模块和共同确定子模块。
第二帧长确定子模块,用于获取所述第二待加密数据帧在编码前的帧长作为第二帧长;
第三待加密数据帧确定子模块,用于根据所述第二帧长确定第二遍历间隔,并按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第三待加密数据帧;
共同确定子模块,用于将所述第一待加密数据帧、所述第二待加密数据帧和所述第三待加密数据帧,确定为所述待加密数据帧。
可选地,第一帧长确定子模块包括:编码方式确定子模块、第一遍历间隔确定子模块和第二待加密数据帧确定子模块。
编码方式确定子模块,用于获取对数据帧进行编码的编码方式;
第一遍历间隔确定子模块,用于根据所述编码方式和所述第一帧长确定所述第一遍历间隔;
第二待加密数据帧确定子模块,用于按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第二待加密数据帧。
可选地,所述待加密文件还包括信息头,所述信息头包括所述每个数据帧编码前的帧长,第一帧长确定子模块包括:第一帧长获取子模块。
第一帧长获取子模块,用于从所述信息头中获取所述第一待加密数据帧在编码前的帧长作为所述第一帧长。
可选地,待加密帧头获取模块120包括:待加密数据帧确定子模块和分离子模块。
待加密数据帧确定子模块,用于从所述多个数据帧中确定所述待加密数据帧;
分离子模块,用于对所述待加密数据帧进行分离处理,获得分离出的所述待加密数据帧的帧头作为所述待加密帧头。
可选地,所述每个数据帧包括的帧头和帧体存在绑定关系,文件加密模块130包括:乱序子模块和加密子模块。
乱序子模块,用于对所述多个数据帧包括的多个帧头和多个帧体进行乱序处理,其中,所述多个帧头包括所述待加密帧头;
加密子模块,用于对乱序处理后的待加密帧头进行加密,获得所述加密文件。
可选地,文件加密装置100还包括:位置信息获取模块和绑定模块。
位置信息获取模块,用于获取所述多个数据帧中的每个数据帧包括的帧头和帧体的位置信息;
绑定模块,用于基于所述位置信息,将所述每个数据帧包括的帧头和帧体进行绑定。
可选地,所述待加密数据帧为所述多个数据帧中的部分或者全部。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
图12是本申请实施例的用于执行根据本申请实施例的文件加密方法的电子设备的框图,请参阅图12,其示出了本申请实施例提供的一种电子设备200的结构框图。该电子设备200可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备200可以包括一个或多个如下部件:处理器210、存储器220以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器220中并被配置为由一个或多个处理器210执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器210可以包括一个或者多个处理核。处理器210利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器220内的指令、程序、代码集或指令集,以及调用存储在存储器220内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器210可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器310可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示组件的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器210中,单独通过一块通信芯片进行实现。
存储器220可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器220可用于存储指令、程序、代码、代码集或指令集。存储器220可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备200在使用中所创建的数据(比如历史配置文件)等。
图13示出了本申请实施例的用于保存或者携带实现根据本申请实施例的文件加密方法的程序代码的存储单元,请参阅13,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质400包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
在本实施例提供的文件加密方法、装置、电子设备及存储介质中,获取待加密文件,待加密文件包括多个数据帧,多个数据帧中的每个数据帧均包括帧头和帧体,再从多个数据帧中确定待加密数据帧,并获取待加密数据帧包括的帧头作为待加密帧头,对待加密帧头进行加密处理,获得加密文件,对待加密帧头进行加密,对帧体不进行加密,可实现快速加密,并使得加密文件的数据量较小,可以节约网络传输资源和存储资源。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种文件加密方法,其特征在于,包括:
获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;
从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;
对所述待加密帧头进行加密处理,获得加密文件。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个数据帧中确定所述待加密数据帧,包括:
遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
3.根据权利要求2所述的方法,其特征在于,所述遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧,包括:
按照遍历间隔跳跃遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧。
4.根据权利要求3所述的方法,其特征在于,所述待加密文件中的所述多个数据帧为对帧体进行编码后的数据帧,所述按照遍历间隔跳跃遍历所述待加密文件,从所述多个数据帧中确定所述待加密数据帧,包括:
从所述多个数据帧中确定第一待加密数据帧,并获取所述第一待加密数据帧在编码前的帧长作为第一帧长;
根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧;
将所述第一待加密数据帧和所述第二待加密数据帧,确定为所述待加密数据帧。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一待加密数据帧和所述第二待加密数据帧,确定为所述待加密数据帧,包括:
获取所述第二待加密数据帧在编码前的帧长作为第二帧长;
根据所述第二帧长确定第二遍历间隔,并按照所述第二遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第三待加密数据帧;
将所述第一待加密数据帧、所述第二待加密数据帧和所述第三待加密数据帧,确定为所述待加密数据帧。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第一帧长确定第一遍历间隔,并按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定第二待加密数据帧,包括:
获取对数据帧进行编码的编码方式;
根据所述编码方式和所述第一帧长确定所述第一遍历间隔;
按照所述第一遍历间隔遍历所述待加密文件,从所述多个数据帧中确定所述第二待加密数据帧。
7.根据权利要求6所述的方法,其特征在于,所述根据所述编码方式和所述第一帧长确定所述第一遍历间隔,包括:
基于预设映射关系,确定所述编码方式和所述第一帧长对应的所述第一遍历间隔,其中,所述预设映射关系包括多个编码方式、多个帧长和多个遍历间隔之间的对应关系。
8.根据权利要求4所述的方法,其特征在于,所述待加密文件还包括信息头,所述信息头包括所述每个数据帧编码前的帧长,所述获取所述第一待加密数据帧在编码前的帧长作为第一帧长,包括:
从所述信息头中获取所述第一待加密数据帧在编码前的帧长作为所述第一帧长。
9.根据权利要求1所述的方法,其特征在于,所述从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头,包括:
从所述多个数据帧中确定所述待加密数据帧;
对所述待加密数据帧进行分离处理,获得分离出的所述待加密数据帧的帧头作为所述待加密帧头。
10.根据权利要求9所述的方法,其特征在于,所述每个数据帧包括的帧头和帧体存在绑定关系,所述对所述待加密帧头进行加密处理,获得加密文件,包括:
对所述多个数据帧包括的多个帧头和多个帧体进行乱序处理,其中,所述多个帧头包括所述待加密帧头;
对乱序处理后的待加密帧头进行加密,获得所述加密文件。
11.根据权利要求9所述的方法,其特征在于,所述对所述多个数据帧包括的多个帧头和多个帧体进行乱序处理之前,还包括:
获取所述多个数据帧中的每个数据帧包括的帧头和帧体的位置信息;
基于所述位置信息,将所述每个数据帧包括的帧头和帧体进行绑定。
12.根据权利要求1所述的方法,其特征在于,所述待加密数据帧为所述多个数据帧中的部分或者全部。
13.一种文件加密装置,其特征在于,所述装置包括:
待加密文件获取模块,用于获取待加密文件,其中,所述待加密文件包括多个数据帧,所述多个数据帧中的每个数据帧均包括帧头和帧体;
待加密帧头获取模块,用于从所述多个数据帧中确定待加密数据帧,并获取所述待加密数据帧包括的帧头作为待加密帧头;
文件加密模块,用于对所述待加密帧头进行加密处理,获得加密文件。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中,所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-12任一项所述的方法。
15.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-12任一项所述的方法。
CN202110349053.4A 2021-03-31 2021-03-31 文件加密方法、装置、电子设备及存储介质 Pending CN113051592A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110349053.4A CN113051592A (zh) 2021-03-31 2021-03-31 文件加密方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110349053.4A CN113051592A (zh) 2021-03-31 2021-03-31 文件加密方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113051592A true CN113051592A (zh) 2021-06-29

Family

ID=76516810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110349053.4A Pending CN113051592A (zh) 2021-03-31 2021-03-31 文件加密方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113051592A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426507A (zh) * 2022-07-29 2022-12-02 宁波星巡智能科技有限公司 基于目标检测的隐私视频传输、播放方法、装置及设备
CN116016993A (zh) * 2022-11-15 2023-04-25 上海热线信息网络有限公司 基于可逆元胞自动机的视频加密、解密方法及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581201A (zh) * 2014-12-31 2015-04-29 乐视网信息技术(北京)股份有限公司 一种视频加密方法及装置
KR20150070723A (ko) * 2013-12-17 2015-06-25 에스케이플래닛 주식회사 동영상 스트리밍 서비스 시스템, 동영상 스트리밍 서비스 방법 및 이를 위한 장치
CN109600631A (zh) * 2018-12-07 2019-04-09 深圳市云歌人工智能技术有限公司 视频文件的加密及公布方法与装置
CN110602570A (zh) * 2019-11-12 2019-12-20 成都索贝数码科技股份有限公司 一种基于非对称加密的视音频可信播放方法
CN111132229A (zh) * 2018-10-30 2020-05-08 华为技术有限公司 数据通信方法及相关装置
CN111327947A (zh) * 2020-02-11 2020-06-23 平安科技(深圳)有限公司 一种截屏管理方法、装置及移动终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150070723A (ko) * 2013-12-17 2015-06-25 에스케이플래닛 주식회사 동영상 스트리밍 서비스 시스템, 동영상 스트리밍 서비스 방법 및 이를 위한 장치
CN104581201A (zh) * 2014-12-31 2015-04-29 乐视网信息技术(北京)股份有限公司 一种视频加密方法及装置
CN111132229A (zh) * 2018-10-30 2020-05-08 华为技术有限公司 数据通信方法及相关装置
CN109600631A (zh) * 2018-12-07 2019-04-09 深圳市云歌人工智能技术有限公司 视频文件的加密及公布方法与装置
CN110602570A (zh) * 2019-11-12 2019-12-20 成都索贝数码科技股份有限公司 一种基于非对称加密的视音频可信播放方法
CN111327947A (zh) * 2020-02-11 2020-06-23 平安科技(深圳)有限公司 一种截屏管理方法、装置及移动终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
汤大权等: "《信息资源管理技术概论》", 30 November 2009, 长沙:国防科技大学出版社, pages: 212 - 214 *
郑恒等: "《外辐射源雷达》", 31 December 2017, 北京:国防工业出版社, pages: 50 - 54 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426507A (zh) * 2022-07-29 2022-12-02 宁波星巡智能科技有限公司 基于目标检测的隐私视频传输、播放方法、装置及设备
CN115426507B (zh) * 2022-07-29 2023-12-05 宁波星巡智能科技有限公司 基于目标检测的隐私视频传输、播放方法、装置及设备
CN116016993A (zh) * 2022-11-15 2023-04-25 上海热线信息网络有限公司 基于可逆元胞自动机的视频加密、解密方法及设备

Similar Documents

Publication Publication Date Title
CN108965302B (zh) 媒体数据传输系统、方法、装置及存储介质
KR101657062B1 (ko) 화이트―박스 구현
EP2352251A1 (en) Content decoding apparatus, content decoding method and integrated circuit
CN113051592A (zh) 文件加密方法、装置、电子设备及存储介质
CN115146285A (zh) 一种文件加密、解密方法及装置
KR100850825B1 (ko) 압축 비디오 스트림의 암호화
US20230208615A1 (en) Online-Streamer Image Model File Transmission in Co-Hosting During Livestreaming
CN110634096B (zh) 一种自适应多模态的信息隐藏方法及装置
CN104966525A (zh) 文件加密、解密方法和装置
CN110719526B (zh) 视频播放方法及装置
CN110620950B (zh) 一种音视频文件的存储方法、装置及设备
CN116962758A (zh) 多媒体内容的加密方法、装置、电子设备和存储介质
CN106209896B (zh) 基于音视频格式的流媒体加密方法和模块
CN113132418B (zh) 一种可变等级加密方法、系统及装置
CN113141352B (zh) 多媒体数据的传输方法、装置、计算机设备和存储介质
CN112565656A (zh) 视频通话方法、装置、系统、电子设备及存储介质
WO2021092809A1 (zh) 函数调用方法、装置、电子设备及计算机可读介质
CN111432242A (zh) 加密视频通话方法、装置、设备和存储介质
CN114419719B (zh) 一种生物特征的处理方法及装置
CN114390317B (zh) 面向流式传输视频的加密方法及系统
CN115208570A (zh) 基于对密钥进行动态更换的加密方法及装置
CN113014956B (zh) 视频播放方法以及装置
CN112584151A (zh) 图像处理方法及终端设备、服务器
CN111698534B (zh) 视频处理方法、装置、电子设备及存储介质
JP5403708B2 (ja) 情報処理装置、データ処理方法およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination