买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】文件加密方法和装置、文件解密方法和装置_腾讯科技(深圳)有限公司_201610126406.3 

申请/专利权人:腾讯科技(深圳)有限公司

申请日:2016-03-03

公开(公告)日:2020-07-21

公开(公告)号:CN107153794B

主分类号:G06F21/78(20130101)

分类号:G06F21/78(20130101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.21#授权;2018.01.05#实质审查的生效;2017.09.12#公开

摘要:本发明涉及一种文件加密方法和装置、文件解密方法和装置,所述文件加密方法包括:获取待加密的原文件;对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括所述原文件的元数据;将所述原文件中除所述头部数据的文件数据分割为多个片段;将分割出的各个所述片段进行混淆片段顺序的存储;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。本发明提供的文件加密方法和装置、文件解密方法和装置,对中央处理器的消耗低,加密和解密时间成本降低。

主权项:1.一种文件加密方法,所述方法包括:获取待加密的原文件;对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括用于描述所述原文件中数据内容的元数据;按照加密等级和响应时间等级中的至少一种确定分割的片段数量,将所述原文件中除所述头部数据的文件数据分割为所述片段数量的多个片段;将分割出的各个所述片段进行混淆片段顺序,并将混淆片段顺序的所述片段作为独立文件进行存储;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。

全文数据:文件加密方法和装置、文件解密方法和装置技术领域[0001]本发明涉及数据安全技术领域,特别是涉及一种文件加密方法和装置、文件解密方法和装置。背景技术[0002]在一些应用场景中,需要对文件进行加密保护,以避免文件内容被非法获取。比如流媒体文件存储在用户终端本地时,被要求进行加密处理,第三方应用程序就无法获取到流媒体文件的内容,有利于版权保护。[0003]然而,目前文件加密主要采用的方式是对文件进行全文二进制加密,相应的解密方式时则是对加密文件进行全文二进制解密,加密和解密过程对中央处理器消耗都非常大,加密和解密的时间成本高。发明内容[0004]基于此,有必要针对目前对文件加密采用全文二进制加密、解密采用全文二进制解密对中央处理器消耗大从而导致加密和解密时间成本高的问题,提供一种文件加密方法和装置、文件解密方法和装置。[0005]一种文件加密方法,所述方法包括:[0006]获取待加密的原文件;[0007]对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括所述原文件的元数据;[0008]将所述原文件中除所述头部数据的文件数据分割为多个片段;[0009]将分割出的各个所述片段进行混渚片段顺序的存储;[0010]对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。[0011]—种文件加密装置,所述装置包括:[0012]原文件获取模块,用于获取待加密的原文件;[0013]头部数据加密模块,用于对所述原文件的头部数据加密获得头部加密数据并存储;所述头部数据包括所述原文件的元数据;[0014]分割模块,用于将所述原文件中除所述头部数据的文件数据分割为多个片段;[0015]混淆片段顺序存储模块,用于将分割出的各个所述片段进行混淆片段顺序的存储;[0016]记录模块,用于对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。[0017]上述文件加密方法和装置,在对原文件进行加密时,仅加密原文件的头部数据,力口密计算的数据量小,而原文件中除头部数据之外的文件数据则分割成多个片段后通过混淆片段顺序的方式进行存储,分割和混渚片段顺序存储的计算量小,相较于目前全文二进制加密的加密方式,通过该文件加密方法和装置可显著减少对中央处理器的消耗,加密时间成本低。记录第一存储路径、第二存储路径和片段的顺序则使得文件被加密后可被解密。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。[0018]—种文件解密方法,所述方法包括:[0019]读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;[0020]根据所述第一存储路径获取所述头部加密数据;[0021]解密所述头部加密数据,获得头部数据;所述头部数据包括原文件的元数据;[0022]读取与所述文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;[0023]根据所述第二存储路径获取各个所述片段;[0024]根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。[0025]一种文件解密装置,所述装置包括:[0026]第一读取模块,用于读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;[0027]头部加密数据获取模块,用于根据所述第一存储路径获取所述头部加密数据;[0028]头部加密数据解密模块,用于解密所述头部加密数据,获得头部数据;所述头部数据包括原文件的元数据;[0029]第二读取模块,用于读取与所述文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;[0030]片段获取模块,用于根据所述第二存储路径获取各个所述片段;[0031]文件拼接模块,用于根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。[0032]上述文件解密方法和装置,利用记录的第一存储路径定位到头部加密数据并进行解密而获得头部数据,利用记录的第二存储路径定位并获取到各个片段,进而利用记录的顺序将头部数据和各片段进行拼接,获得原文件。解密时仅需对头部加密数据进行解密计算,解密计算的数据量小,片段拼接的时间成本少,相较于目前全文二进制解密的解密方式,通过该文件解密方法和装置可显著减少对中央处理器的消耗,解密时间成本低。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。附图说明[0033]图1为一个实施例中电子设备的内部结构示意图;[0034]图2为一个实施例中文件加密方法的流程示意图;[0035]图3为一个实施例中对原文件的头部数据加密获得头部加密数据并存储,对应于原文件的文件标识记录头部加密数据的第一存储路径的步骤的流程示意图;[0036]图4为另一个实施例中文件加密方法的流程示意图;[0037]图5为一个实施例中文件解密方法的流程示意图;[0038]图6为一个实施例中文件加密装置的结构框图;[0039]图7为另一个实施例中文件加密装置的结构框图;[0040]图8为一个实施例中文件解密装置的结构框图;[0041]图9为另一个实施例中文件解密装置的结构框图。具体实施方式[0042]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0043]如图1所示,在一个实施例中,提供了一种电子设备,包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口和音频输出接口。其中处理器具有计算功能和控制电子设备工作的功能,该处理器被配置为执行一种文件加密方法和文件解密方法。非易失性存储介质包括磁存储介质、光存储介质以及闪存式存储介质。非易失性存储介质存储有操作系统,还存储有文件加密装置和文件解密装置,该文件加密装置用于实现一种文件加密方法,该文件解密装置用于实现一种文件解密方法。内存储器用于为操作系统、文件加密装置和文件解密装置提供高速缓存。网络接口用于连接到网络,音频输出接口用于将处理器处理获得的音频数据输出为音频信号。[0044]如图2所示,在一个实施例中,提供了一种文件加密方法,本实施例以该方法应用于上述图1中的电子设备来举例说明。该方法具体包括如下步骤:[0045]步骤202,获取待加密的原文件。[0046]其中,原文件是指未经过加密的原始文件,原文件具体可以是媒体文件、图片、压缩包文件、文本文件或者富文本文件等。媒体文件包括流媒体文件和本地媒体文件,媒体文件具体比如视频文件或者音频文件等。电子设备具体可通过网络下载待加密的原文件,还可以从本地获取待加密的原文件。[0047]步骤204,对原文件的头部数据加密获得头部加密数据并存储,对应于原文件的文件标识记录头部加密数据的第一存储路径;头部数据包括原文件的元数据。[0048]其中,头部数据是位于原文件头部的一部分数据,可根据需要设置头部数据的大小,比如可取l〇〇KBKB,千字节),且要求头部数据覆盖到原文件的元数据。元数据metadata是指描述该原文件的数据内容的数据,比如若原文件为视频流文件,则元数据可包括视频格式、视频时间信息、码率、文件大小、及导演、演员以及制作单位等。[0049]电子设备可采用各种二进制加密算法对头部数据进行加密,获得相应的头部加密数据。电子设备加密头部数据,具体可采用AESAdvancedEncryptionStandard,即高级加密标准算法或者DESDataEncryptionStandard,即数据加密、标准算法等二进制加密算法。[0050]电子设备存储加密所获得的头部加密数据,并在以原文件的文件标识为索引的记录中记录该头部加密数据的存储路径。为将该存储路径与下述的其它存储路径相区分,称头部加密数据的存储路径为第一存储路径。原文件的文件标识可唯一标识出相应的原文件,可以包括数字、字母、标点符号以及汉字等字符中的一种或几种的组合。[0051]步骤2〇6,将原文件中除头部数据的文件数据分割为多个片段。[0052]具体地,在一个实施例中,电子设备可按照预设的单个片段大小将原文件中除头部数据的文件数据分割为多个片段。比如预设的单个片段大小为1M兆字节),则电子设备可从原文件中除去头部数据之后,再从剩余的文件数据逐个地分割出一个个大小为1M的片段,最后不足1M的文件数据则是分割出的最后一个片段。[0053]在一个实施例中,电子设备可将原文件中除头部数据的文件数据等量或随机分割为预设数量的多个片段。具体地,电子设备可从原文件中除去头部数据之后,再将剩余的文件数据分割为预设数量的片段。分割时可米用等量分割方式,即分割出的每个片段的大小相等;也可以采用随机分割方式,即随机地分配预设数量的片段中每个片段的大小。[0054]其中,分割出的片段的数量可根据加密等级和或响应时间等级进行控制,具体若加密等级越高,则分割出的片段的数量应当更多,文件被加密后更难被破解;若加密等级越低,则分割出的片的数量可以减少。若响应时间等级越高,即要求响应时间短,则分割出的数量应当减少;若响应时间等级越低,则可增加分割出的片段的数量。[0055]步骤208,将分割出的各个片段进行混淆片段顺序的存储。[0056]具体地,电子设备将分割出的每个片段独立地存储,并且在存储时混淆片段顺序,从而使得各个片段被存储后无法从存储路径分辨出各个片段在原文件中的顺序。[0057]在一个实施例中,步骤208包括:为每个片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个片段存储在以相应的新文件名命名的片段文件中。[0058]具体地,电子设备可生成与片段数量相等的多个不同的随机字符串,将每个随机字符串分别分配给多个片段中的其中一个,使得每个片段具有相应的随机字符串作为新文件名。电子设备将每个片段作为独立的文件进行存储,该文件称之为片段文件,并将存储的片段文件命名为分配的新文件名。[0059]其中片段文件可存储在指定目录下,比如创建一个具有随机文件夹名称的文件夹,从而将分割出的片段文件均存储在该创建的文件夹下。电子设备也可以随机为每个片段文件创建新的文件目录,从而将每个片段文件存储在相应的文件目录下,每个片段文件的文件目录可以均不相同。[0060]步骤210,对应于文件标识记录各个片段的第二存储路径以及各个片段在原文件中的顺序。[0061]具体地,电子设备可在实施本发明实施例的文件加密方法的应用的私有数据库中生成一条记录,该条记录可以原文件的文件标识为索引,在该条记录中存储第一存储路径、第二存储路径以及各个片段在原文件中的顺序。其中私有数据库可存储于本地或者网络中,私有数据库的访问需要经过身份验证,可保证安全性。第二存储路径是指存储的片段的存储路径。记录片段的顺序具体可按照各片段在原文件中的顺序记录相应片段文件名的顺序,也可以为每个片段分配唯一且混淆顺序的片段序号,从而按照各片段在原文件中的顺序记录各片段序号的顺序^电子设备还可以记录原文件的文件校验值,比如MD5MeSSageDigestAlgorithmMD5,即消息摘要算法第五版值,用以在解密获得原文件后根据文件校验值校验原文件的完整性。[0062]在一个实施例中,电子设备还可以将在实施上述文件加密方法过程中生成的文件进行格式伪装,比如将生成的文件的扩展名修改为另一种文件格式的扩展名。生成的文件包括头部加密数据所在的文件和各片段所在的文件。在解密时需要将经过格式伪装的文件进行格式还原。[0063]上述文件加密方法,在对原文件进行加密时,仅加密原文件的头部数据,加密计算的数据量小,而原文件中除头部数据之外的文件数据则分割成多个片段后通过混淆片段顺序的方式进行存储,分割和混淆片段顺序存储的计算量小,相较于目前全文二进制加密的加密方式,通过该文件加密方法可显著减少对中央处理器的消耗,加密时间成本低。记录第一存储路径、第二存储路径和片段的顺序则使得文件被加密后可被解密。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。[0064]如图3所示,在一个实施例中,步骤204具体包括以下步骤:[0065]步骤302,生成随机的加密密钥,根据加密密钥对原文件的头部数据进行加密获得头部加密数据。[0066]具体地,电子设备可采用随机哈希算法生成随机的第一哈希值,将该随机的第一哈希值作为加密密钥,进而电子设备可根据该加密密钥将明文的头部数据转化为密文的头部加密数据。生成随机的加密密钥可尽量避免被第三方猜解。[0067]步骤304,创建具有随机生成的文件名的新文件,并将头部加密数据存储在新文件中。[0068]具体地,电子设备可采用随机哈希算法生成随机的第二哈希值,将该随机的第二哈希值作为文件名创建新文件,进而将加密获得的头部加密数据存储在该新文件中。电子设备也可以当前时间作为随机种子来生成随机的文件名。创建具有随机文件名的新文件来存储头部加密数据,可进一步避免被第三方定位和破解。[0069]步骤306,对应于原文件的文件标识记录加密密钥以及新文件的第一存储路径。[0070]具体地,电子设备可在私有数据库中以原文件的文件标识为索引的记录中存储加密密钥以及新文件的第一存储路径,以便在解密时根据第一存储路径定位到头部加密数据所在的文件,并根据加密密钥对头部加密数据进行解密。[0071]本实施例中,生成随机的加密密钥来对头部数据进行加密,可避免加密密钥被第三方猜解;进而生成随机的文件名来存储头部加密数据,可防止头部加密数据被轻易获取至IJ,从而进一步保障文件被加密后的安全性。[0072]在一个实施例中,原文件为流媒体应用所下载的流媒体文件;第一存储路径、各个第二存储路径以及顺序对应于文件标识记录在流媒体应用对应的私有数据库中。[0073]如图4所示,在一个实施例中,一种文件加密方法,具体包括如下步骤:[0074]步骤402,通过流媒体应用下载待加密的流媒体文件。[0075]具体地,电子设备可通过流媒体应用连接到流媒体服务器,从而从流媒体服务器下载流媒体文件作为待加密的流媒体文件。其中流媒体应用是指具有处理流媒体能力的应用,比如流媒体播放应用或者流媒体编辑应用等。[0076]步骤404,对流媒体文件的头部数据加密获得头部加密数据并存储;头部数据包括流媒体文件的元数据。[0077]具体地,电子设备可生成随机的加密密钥,根据加密密钥对原文件的头部数据进订加岔获得头邰加®数据。电子设备可创建具有随机生成的文件名的新文件,并将头部加密数据存储在新文件中。[0078]步骤406,将流媒体文件中除头部数据的文件数据分割为多个片段。[0079]具体地,电子设备可按照预设的单个片段大小将原文件中除头部数据的文件数据分割为多个片段,电子设备也可以将原文件中除头部数据的文件数据等量或随机分割为预设数量的多个片段。[00S0]步骤408,将分割出的各个片段进行混淆片段顺序的存储。[0081]步骤410,对应于流媒体文件的文件标识记录头部加密数据的第一存储路径、各个片段的第二存储路径以及各个片段在流媒体文件中的顺序。[0082]具体地,电子设备可在流媒体应用对应的私有数据库中创建一条以文件标识为索引的记录,在该记录中存储加密密钥、第一存储路径、第二存储路径以及各片段在流媒体文件中的顺序。[0083]步骤412,删除流媒体文件。[0084]具体地,电子设备在完成对流媒体文件的加密后,删除流媒体文件。在一个实施例中,电子设备可在下载流媒体文件后播放流媒体文件,同时执行上述步骤402至步骤410,并在播放完毕后删除下载的流媒体文件。[0085]本实施例中,针对流媒体文件版权保护的需求,采用本发明实施例的文件加密方法可在保证加密性能的同时提高加密效率,进而提高对流媒体文件进行处理的效率。[0086]如图5所示,在一个实施例中,提供了一种文件解密方法,本实施例以该方法应用于上述图1中的电子设备来举例说明。该方法具体包括如下步骤:[0087]步骤502,读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径。[0088]具体地,电子设备可在实施上述文件加密方法后,再在需要使用原文件时实施本实施例的文件解密方法来还原出原文件。电子设备具体可获取待解密的文件标识,从应用的私有数据库中查找以该文件标识为索引的记录,并从查找到的记录中读取第一存储路径和加密密钥。第一存储路径是存储头部加密数据的路径。[0089]步骤504,根据第一存储路径获取头部加密数据。[0090]具体地,电子设备根据第一存储路径查找到相应文件目录下的文件,进而从查找到的文件中读取头部加密数据。[0091]步骤506,解密头部加密数据,获得头部数据;头部数据包括原文件的元数据。[0092]具体地,电子设备可根据读取的加密密钥从头部加密数据中解密出头部数据。解密时可采用二进制解密算法进行解密,具体可采用AES算法或者DES算法等二进制解密算法。[0093]步骤508,读取与文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个片段在原文件中的顺序。[0094]具体地,电子设备在加密原文件时,将原文件中除头部数据的文件数据分割为多个片段,并将分割出的各个片段进行混淆片段顺序的存储,从而使得各个片段被存储后无法从存储路径分辨出各个片段在原文件中的顺序,并将第二存储路径和各个片段在原文件中的顺序记录下来,在解密时读取。[0095]步骤510,根据第二存储路径获取各个片段。[0096]具体地,电子设备根据读取的第二存储路径查找到相应文件目录下的文件,并在查找到的文件中获取从原文件中分割出的各个片段。[0097]步骤512,根据顺序将各个片段与头部数据拼接,获得原文件。[0098]具体地,电子设备创建一个临时文件,在该临时文件中写入头部数据,并在头部数据之后按照顺序将各个片段写入临时文件,从而将头部数据和各个片段拼接,获得完整的原文件。[00"]在一个实施例中,电子设备还可以读取与文件标识对应存储的原文件的文件校验值,从而根据读取的文件校验值进行校验,若校验通过则完成解密;若校验未通过则发出解密出错提示信息。具体在校验时可计算拼接获得的原文件的文件校验值,并将计算出的文件校验值与读取的文件校验值进行比较,若一致则校验通过,若不一致则校验未通过。[0100]上述文件解密方法,利用记录的第一存储路径定位到头部加密数据并进行解密而获得头部数据,利用记录的第二存储路径定位并获取到各个片段,进而利用记录的顺序将头部数据和各片段进行拼接,获得原文件。解密时仅需对头部加密数据进行解密计算,解密计算的数据量小,片段拼接的时间成本少,相较于目前全文二进制解密的解密方式,通过该文件解密方法可显著减少对中央处理器的消耗,解密时间成本低。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。[0101]在一个实施例中,原文件为流媒体文件;第一存储路径、第二存储路径以及顺序读取自流媒体应用对应的私有数据库。步骤512之后,还包括:播放原文件,并在播放完毕后清除原文件。[0102]具体地,电子设备可在需要播放流媒体文件时,根据相应的文件标识进行解密获得流媒体文件,并播放该流媒体文件。该流媒体文件为临时文件,在播放完毕后该流媒体文件被清除,若需要再次播放则重新进行解密播放。[0103]本实施例中,将文件解密方法应用于流媒体文件的解密,可在保证加密性能的同时提高解密效率,在需要播放流媒体文件时进行即时地解密,不会影响到播放流媒体文件的初次响应时间和播放流畅度,既能起到保护流媒体文件的效果,又大大减少了加密解密带来的额外性能消耗,兼顾了安全性和性能,同时保障了版权方的权益和用户的体验。[0104]如图6所示,在一个实施例中,提供了一种文件加密装置600,包括:[0105]原文件获取模块601,用于获取待加密的原文件。[0106]头部数据加密模块6〇2,用于对原文件的头部数据加密获得头部加密数据并存储;头部数据包括原文件的元数据。[0107]分割模块603,用于将原文件中除头部数据的文件数据分割为多个片段。[0108]混淆片段顺序存储模块604,用于将分割出的各个片段进行混淆片段顺序的存储。[0109]记录模块605,用于对应于原文件的文件标识记录头部加密数据的第一存储路径。对应于文件标识记录各个片段的第二存储路径以及各个片段在原文件中的顺序。[0110]上述文件加密装置600,在对原文件进行加密时,仅加密原文件的头部数据,加密计算的数据量小,而原文件中除头部数据之外的文件数据则分割成多个片段后通过混淆片段顺序的方式进行存储,分割和混淆片段顺序存储的计算量小,相较于目前全文二进制加密的加密方式,通过该文件加密装置可显著减少对中央处理器的消耗,加密时间成本低。记录第一存储路径、第二存储路径和片段的顺序则使得文件被加密后可被解密。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。[0111]在一个实施例中,头部数据加密模块602具体用于生成随机的加密密钥,根据加密密钥对原文件的头部数据进行加密获得头部加密数据;创建具有随机生成的文件名的新文件,并将头部加密数据存储在新文件中。[0112]记录模块605还用于对应于原文件的文件标识记录加密密钥以及新文件的第一存储路径。[0113]本实施例中,生成随机的加密密钥来对头部数据进行加密,可避免加密密钥被第三方猜解;进而生成随机的文件名来存储头部加密数据,可防止头部加密数据被轻易获取到,从而进一步保障文件被加密后的安全性。[0114]在一个实施例中,分割模块603具体用于按照预设的单个片段大小将原文件中除头部数据的文件数据分割为多个片段。[0115]在一个实施例中,分割模块603具体用于将原文件中除头部数据的文件数据等量或随机分割为预设数量的多个片段。[0116]在一个实施例中,混淆片段顺序存储模块604具体用于为每个片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个片段存储在以相应的新文件名命名的片段文件中。[0117]在一个实施例中,原文件为流媒体应用所下载的流媒体文件;第一存储路径、各个第二存储路径以及顺序对应于文件标识记录在流媒体应用对应的私有数据库中。如图7所示,文件加密装置600还包括文件删除模块606,用于删除流媒体文件。[0118]本实施例中,针对流媒体文件版权保护的需求,采用本发明实施例的文件加密方法可在保证加密性能的同时提高加密效率,进而提高对流媒体文件进行处理的效率。[0119]如图8所示,在一个实施例中,提供了一种文件解密装置800,包括第一读取模块801、头部加密数据获取模块802、头部加密数据解密模块803、第二读取模块804、片段获取模块805和文件拼接模块806。[0120]第一读取模块801,用于读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径。[0121]头部加密数据获取模块802,用于根据第一存储路径获取头部加密数据。[0122]头部加密数据解密模块803,用于解密头部加密数据,获得头部数据;头部数据包括原文件的元数据。[0123]第二读取模块804,用于读取与文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个片段在原文件中的顺序。[0124]片段获取模块805,用于根据第二存储路径获取各个片段。[0125]文件拼接模块806,用于根据顺序将各个片段与头部数据拼接,获得原文件。[0126]上述文件解密装置800,利用记录的第一存储路径定位到头部加密数据并进行解密而获得头部数据,利用记录的第二存储路径定位并获取到各个片段,进而利用记录的顺序将头部数据和各片段进行拼接,获得原文件。解密时仅需对头部加密数据进行解密计算,解密计算的数据量小,片段拼接的时间成本少,相较于目前全文二进制解密的解密方式,通过该文件解密装置可显著减少对中央处理器的消耗,解密时间成本低。而且元数据用于描述原文件中的数据内容,加密的头部数据覆盖原文件的元数据,可防止恶意用户利用元数据定位到加密的文件以及获取到通过混淆片段顺序存储的各个片段来进行加密破解。[0127]在一个实施例中,原文件为流媒体文件;第一存储路径、第二存储路径以及顺序读取自流媒体应用对应的私有数据库。如图9所示,文件解密装置800还包括:播放模块807和文件清除模块808。[0128]播放模块807,用于播放原文件。[0129]文件清除模块808,用于在播放原文件完毕后清除原文件。[0130]本实施例中,将文件解密方法应用于流媒体文件的解密,可在保证加密性能的同时提高解密效率,在需要播放流媒体文件时进行即时地解密,不会影响到播放流媒体文件的初次响应时间和播放流畅度,既能起到保护流媒体文件的效果,又大大减少了加密解密带来的额外性能消耗,兼顾了安全性和性能,同时保障了版权方的权益和用户的体验。[0131]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体Read-OnlyMemory,ROM等非易失性存储介质,或随机存储记忆体RandomAccessMemory,RAM等。[0132]以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0133]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

权利要求:1.一种文件加密方法,所述方法包括:获取待加密的原文件;对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;所述头部数据包括所述原文件的元数据;将所述原文件中除所述头部数据的文件数据分割为多个片段;将分割出的各个所述片段进行混淆片段顺序的存储;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。2.根据权利要求1所述的方法,其特征在于,所述对所述原文件的头部数据加密获得头部加密数据并存储,对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径,包括:生成随机的加密密钥,根据所述加密密钥对所述原文件的头部数据进行加密获得头部加密数据;创建具有随机生成的文件名的新文件,并将所述头部加密数据存储在所述新文件中;对应于所述原文件的文件标识记录所述加密密钥以及所述新文件的第一存储路径。3.根据权利要求1所述的方法,其特征在于,所述将所述原文件中除所述头部数据的文件数据分割为多个片段,包括:按照预设的单个片段大小将所述原文件中除所述头部数据的文件数据分割为多个片段;或者,将所述原文件中除所述头部数据的文件数据等量或随机分割为预设数量的多个片段。4.根据权利要求1所述的方法,其特征在于,所述将分割出的各个所述片段进行混淆片段顺序的存储,包括:为每个所述片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个所述片段存储在以相应的新文件名命名的片段文件中。5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述原文件为流媒体应用所下载的流媒体文件;所述第一存储路径、各个所述第二存储路径以及所述顺序对应于所述文件标识记录在所述流媒体应用对应的私有数据库中;所述对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序之后,还包括:删除所述流媒体文件。6.—种文件解密方法,所述方法包括:读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;根据所述第一存储路径获取所述头部加密数据;解密所述头部加密数据,获得头部数据;所述头部数据包括原文件的元数据;读取与所述文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;根据所述第二存储路径获取各个所述片段;根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。7.根据权利要求6所述的方法,其特征在于,所述原文件为流媒体文件;所述第一存储路径、第二存储路径以及所述顺序读取自所述流媒体应用对应的私有数据库;所述根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件之后,包括:播放所述原文件,并在播放完毕后清除所述原文件。8.—种文件加密装置,其特征在于,所述装置包括:原文件获取模块,用于获取待加密的原文件;头部数据加密模块,用于对所述原文件的头部数据加密获得头部加密数据并存储;所述头部数据包括所述原文件的元数据;分割模块,用于将所述原文件中除所述头部数据的文件数据分割为多个片段;混淆片段顺序存储模块,用于将分割出的各个所述片段进行混淆片段顺序的存储;记录模块,用于对应于所述原文件的文件标识记录所述头部加密数据的第一存储路径;对应于所述文件标识记录各个所述片段的第二存储路径以及各个所述片段在所述原文件中的顺序。9.根据权利要求8所述的装置,其特征在于,所述头部数据加密模块具体用于生成随机的加密密钥,根据所述加密密钥对所述原文件的头部数据进行加密获得头部加密数据;创建具有随机生成的文件名的新文件,并将所述头部加密数据存储在所述新文件中;所述记录模块还用于对应于所述原文件的文件标识记录所述加密密钥以及所述新文件的第一存储路径。10.根据权利要求8所述的装置,其特征在于,所述分割模块具体用于按照预设的单个片段大小将所述原文件中除所述头部数据的文件数据分割为多个片段;或者,所述分割模块具体用于将所述原文件中除所述头部数据的文件数据等量或随机分割为预设数量的多个片段。11.根据权利要求8所述的装置,其特征在于,所述混淆片段顺序存储模块具体用于为每个所述片段分配随机的新文件名,并在指定文件目录或者随机创建的文件目录下将每个所述片段存储在以相应的新文件名命名的片段文件中。12.根据权利要求8至11中任意一项所述的装置,其特征在于,所述原文件为流媒体应用所下载的流媒体文件;所述第一存储路径、各个所述第二存储路径以及所述顺序对应于所述文件标识记录在所述流媒体应用对应的私有数据库中;所述装置还包括文件删除模块,用于删除所述流媒体文件。13.—种文件解密装置,其特征在于,所述装置包括:第一读取模块,用于读取与待解密的文件标识对应的用于存储头部加密数据的第一存储路径;头部加密数据获取模块,用于根据所述第一存储路径获取所述头部加密数据;头部加密数据解密模块,用于解密所述头部加密数据,获得头部数据;所述头部数据包括原文件的元数据;第二读取模块,用于读取与所述文件标识对应的混淆片段顺序存储的各个片段的第二存储路径和各个所述片段在原文件中的顺序;片段获取模块,用于根据所述第二存储路径获取各个所述片段;文件拼接模块,用于根据所述顺序将各个所述片段与所述头部数据拼接,获得原文件。14.根据权利要求13所述的装置,其特征在于,所述原文件为流媒体文件;所述第一存储路径、第二存储路径以及所述顺序读取自所述流媒体应用对应的私有数据库;所述装置还包括:播放模块,用于播放所述原文件;文件清除模块,用于在播放所述原文件完毕后清除所述原文件。

百度查询: 腾讯科技(深圳)有限公司 文件加密方法和装置、文件解密方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。