著录项信息
专利名称 | 一种加密、解密视频文件的方法、装置及移动终端 |
申请号 | CN201210315011.X | 申请日期 | 2012-08-30 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2013-01-09 | 公开/公告号 | CN102867153A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/62 | IPC分类号 | G;0;6;F;2;1;/;6;2;;;H;0;4;N;5;/;9;2查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(深圳)有限公司 | 当前权利人 | 腾讯科技(深圳)有限公司 |
发明人 | 陈建铭;郑晓胜 |
代理机构 | 北京三高永信知识产权代理有限责任公司 | 代理人 | 滕一斌 |
摘要
本发明公开一种加密、解密视频文件的方法、装置及移动终端,属于移动终端领域。加密视频文件的方法:获取需加密视频文件和密钥;使用密钥对所述需加密视频文件进行加密,得到加密后视频文件;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹。解密视频文件的方法:获取需解密视频文件和密钥;使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件;确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置。本发明加密快。
1.一种加密视频文件的方法,其特征在于,所述方法包括:
获取需加密视频文件和密钥;
使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;
获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;
在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;
其中,所述在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹,包括:
获取所述需加密视频文件的索引节点信息,所述索引节点信息包括存储路径;所述索引节点信息与视频数据成对应关系;
根据所述需加密视频文件的存储路径,在所有分区中匹配出存放所述需加密视频文件的分区;
根据存放所述需加密视频文件的分区中的预置文件夹,计算出所述加密后视频文件的存储路径,使所述加密后视频文件的存储路径指向存放所述需加密视频文件的分区中的预置文件夹;得到所述加密后视频文件的索引节点信息;
将所述需加密视频文件的索引节点信息更改为所述加密后视频文件的索引节点信息,以使所述加密后视频文件移动至所述存放所述需加密视频文件的分区中的预置文件夹。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
扫描所述移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;
在扫描出的每一个所述分区中设置一个文件夹。
3.根据权利要求1所述的方法,其特征在于,所述使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件,包括:
读取长度为第一预设长度且存放在所述需加密视频文件头部的头部数据;
使用所述密钥对所述头部数据进行加密,获取所述头部数据加密后的密文;
根据所述密文和所述需加密视频文件中除所述头部数据外的剩余数据,得到所述加密后视频文件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述密文和所述需加密视频文件中除所述头部数据外的剩余数据,得到所述加密后视频文件,包括:
获取所述头部数据在所述需加密视频文件中的存放区间;
根据所述头部数据的存放区间,分别获取长度为第二预设长度的特定头部数据的存放区间和所述密文的存放区间;所述第二预设长度小于所述第一预设长度;所述特定头部数据包括所述密文的存放区间和预置的加密标识;
生成所述特定头部数据,并保持所述需加密视频文件中除所述头部数据外的剩余数据不变,将所述特定头部数据和所述密文分别写入各自对应的存放区间,得到所述加密后的视频文件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述头部数据的存放区间,获取长度为第二预设长度的所述特定头部数据的存放区间,包括:
从所述头部数据在所述需加密视频文件中的存放区间的始端点开始,获取存放数据的长度与所述第二预设长度一致的存放区间,得到所述特定头部数据的存放区间。
6.根据权利要求4所述的方法,其特征在于,所述根据所述头部数据的存放区间,获取所述密文的存放区间,包括:
获取所述密文的长度,并判断所述密文的长度是否大于所述第一预设长度与所述第二预设长度之间的长度差;
若所述密文的长度小于或等于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文的存放区间;
若所述密文的长度大于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文中长度为所述长度差的一部分密文的存放区间;获取所述需加密视频文件的存放区间,从所述需加密视频文件的存放区间的末端点开始,获取存放数据的长度与所述密文中另一部分密文的长度一致的存放空间,得到所述密文中另一部分密文的存放区间。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立所述需加密视频文件的索引节点信息与所述加密后视频文件的索引节点信息之间的对应关系。
8.一种解密视频文件的方法,其特征在于,所述方法包括:
获取需解密视频文件和密钥;
使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件;
确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置;
其中,所述确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置,包括:
获取所述需解密视频文件的索引节点信息;
获取预先建立的需加密视频文件的索引节点信息与加密后视频文件的索引节点信息之间的对应关系;
从所述对应关系中获取所述需解密视频文件的索引节点信息对应的在加密前的索引节点信息;所述在加密前的索引节点信息包括所述需解密视频文件在加密前的存储路径;
将所述需解密视频文件的索引节点信息更改为在加密前的索引节点信息,以使所述解密后视频文件移动至在所述需解密视频文件在加密前的存储路径指示的存储位置。
9.根据权利要求8所述的方法,其特征在于,所述使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件,包括:
读取长度为第二预设长度且存放在所述需解密视频文件头部的头部数据,并根据所述头部数据,获取密文的存放区间;
根据所述密文的存放区间,读取所述密文;
使用所述密钥对所述密文进行解密,获取所述密文解密后的长度为第一预设长度的明文;所述第一预设长度大于所述第二预设长度;
根据所述明文和所述需解密视频文件中除所述头部数据和所述密文外的剩余数据,得到所述解密后视频文件。
10.根据权利要求9所述的方法,其特征在于,所述根据所述明文和所述需解密视频文件中除所述头部数据和所述密文外的剩余数据,得到所述解密后视频文件,包括:
获取所述需解密视频文件的存放区间;
从所述需解密视频文件的存放区间的始端点开始,获取存放数据的长度与所述第一预设长度一致的存放区间,得到所述明文的存放区间;
保持所述需解密视频文件中除所述头部数据和所述密文外的剩余数据不变,将所述明文覆盖至自己的存放区间,得到所述解密后视频文件。
11.根据权利要求9所述的方法,其特征在于,所述需解密视频文件为需预览视频文件,所述方法还包括:
读取所述第一预设长度的明文和所述剩余数据,并将所述明文和所述剩余数据构造为视频流,提供给流媒体进行播放。
12.一种加密视频文件的装置,其特征在于,所述装置包括:
第一获取模块,用于获取需加密视频文件和密钥;
加密模块,用于使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;
第二获取模块,用于获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;
第一移动模块,用于在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;
其中,所述第一移动模块包括:
第一获取子模块,用于获取所述需加密视频文件的索引节点信息,所述索引节点信息包括存储路径;所述索引节点信息与视频数据成对应关系;
匹配子模块,用于根据所述需加密视频文件的存储路径,在所有分区中匹配出存放所述需加密视频文件的分区;
计算子模块,用于根据存放所述需加密视频文件的分区中的预置文件夹,计算出所述加密后视频文件的存储路径,使所述加密后视频文件的存储路径指向存放所述需加密视频文件的分区中的预置文件夹;得到所述加密后视频文件的索引节点信息;
第一更改子模块,用于将所述需加密视频文件的索引节点信息更改为所述加密后视频文件的索引节点信息,以使所述加密后视频文件移动至所述存放所述需加密视频文件的分区中的预置文件夹。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
扫描预置模块,用于扫描所述移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;
在扫描出的每一个所述分区中设置一个文件夹。
14.根据权利要求12所述的装置,其特征在于,所述加密模块包括:
第一读取子模块,用于读取长度为第一预设长度且存放在所述需加密视频文件头部的头部数据;
加密子模块,用于使用所述密钥对所述头部数据进行加密,获取所述头部数据加密后的密文;
写子模块,用于根据所述密文和所述需加密视频文件中除所述头部数据外的剩余数据,得到所述加密后视频文件。
15.根据权利要求14所述的装置,其特征在于,所述写子模块包括:
第一获取单元,用于获取所述头部数据在所述需加密视频文件中的存放区间;
第二获取单元,用于根据所述头部数据的存放区间,获取长度为第二预设长度的特定头部数据的存放区间;所述第二预设长度小于所述第一预设长度;所述特定头部数据包括所述密文的存放区间和预置的加密标识;
第三获取单元,用于获取所述密文的存放区间;
写单元,用于生成所述特定头部数据,并保持所述需加密视频文件中除所述头部数据外的剩余数据不变,将所述特定头部数据和所述密文分别写入各自对应的存放区间,得到所述加密后的视频文件。
16.根据权利要求15所述的装置,其特征在于,所述第二获取单元用于,从所述头部数据在所述需加密视频文件中的存放区间的始端点开始,获取存放数据的长度与所述第二预设长度一致的存放区间,得到所述特定头部数据的存放区间。
17.根据权利要求15所述的装置,其特征在于,所述第三获取单元包括:
判断子单元,用于获取所述密文的长度,并判断所述密文的长度是否大于所述第一预设长度与所述第二预设长度之间的长度差;
第一密文区间子单元,用于若所述密文的长度小于或等于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文的存放区间;
第二密文区间子单元,用于若所述密文的长度大于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文中长度为所述长度差的一部分密文的存放区间;获取所述需加密视频文件的存放区间,从所述需加密视频文件的存放区间的末端点开始,获取存放数据的长度与所述密文中另一部分密文的长度一致的存放空间,得到所述密文中另一部分密文的存放区间。
18.根据权利要求12所述的装置,其特征在于,所述第一移动模块还包括:
建立子模块,用于建立所述需加密视频文件的索引节点信息与所述加密后视频文件的索引节点信息之间的对应关系。
19.一种解密视频文件的装置,其特征在于,所述装置包括:
第三获取模块,用于获取需解密视频文件和密钥;
解密模块,用于使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件;
第二移动模块,用于确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置;
其中,所述第二移动模块包括:
第二获取子模块,用于获取所述需解密视频文件的索引节点信息;
第三获取子模块,用于获取预先建立的需加密视频文件的索引节点信息与加密后视频文件的索引节点信息之间的对应关系;
第四获取子模块,用于从所述对应关系中获取所述需解密视频文件的索引节点信息对应的在加密前的索引节点信息;所述在加密前的索引节点信息包括所述需解密视频文件在加密前的存储路径;
第二更改子模块,用于将所述需解密视频文件的索引节点信息更改为在加密前的索引节点信息,以使所述解密后视频文件移动至在所述需解密视频文件在加密前的存储路径指示的存储位置。
20.根据权利要求19所述的装置,所述解密模块包括:
第二读取子模块,用于读取长度为第二预设长度且存放在所述需解密视频文件头部的头部数据,并根据所述头部数据,获取密文的存放区间;
第三读取子模块,用于根据所述密文的存放区间,读取所述密文;
解密子模块,用于使用所述密钥对所述密文进行解密,获取所述密文解密后的长度为第一预设长度的明文;所述第一预设长度大于所述第二预设长度;
覆盖子模块,用于根据所述明文和所述需解密视频文件中除所述头部数据和所述密文外的剩余数据,得到所述解密后视频文件。
21.根据权利要求20所述的装置,其特征在于,所述覆盖子模块包括:
第四获取单元,用于获取所述需解密视频文件的存放区间;
第五获取单元,用于从所述需解密视频文件的存放区间的始端点开始,获取存放数据的长度与所述第一预设长度一致的存放区间,得到所述明文的存放区间;
覆盖单元,用于保持所述需解密视频文件中除所述头部数据和所述密文外的剩余数据不变,将所述明文覆盖至自己的存放区间,得到所述解密后视频文件。
22.根据权利要求20所述的装置,其特征在于,所述需解密视频文件为需预览视频文件;所述解密模块还包括:
预览子模块,读取所述第一预设长度的明文和所述剩余数据,并将所述明文和所述剩余数据构造为视频流,提供给流媒体进行播放。
23.一种移动终端,其特征在于,所述移动终端包括如权利要求12~18任一项所述的加密视频文件的装置和如权利要求19~22任一项所述的解密视频文件的装置。
一种加密、解密视频文件的方法、装置及移动终端\n技术领域\n[0001] 本发明涉及移动终端领域,特别涉及一种加密、解密视频文件的方法、装置及移动终端。\n背景技术\n[0002] 随着移动终端硬件和扩展存储器的发展,用户可将大量的文件存放在移动终端和扩展存储器中,并通过移动终端查阅这些文件。为了保护隐私及文件的安全性,用户希望对文件进行加密。\n[0003] 其中,加密是以某种特殊的算法改变文件原有的数据,使得未授权的用户即使获得了已加密的数据,但因不知解密的方法,仍然无法了解文件的内容。一般地,这些文件包括文本文档、程序、图片和视频。针对视频文件,可以通过现有的视频文件加密方式进行加密。具体地,现有的视频文件加密方式包括,首先对整个视频文件进行加密,得到加密后视频文件;然后将加密后视频文件从原先的存储位置移动至指定存储位置。\n[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:\n[0005] 视频文件是所有文件中最大的文件,当指定存储位置为与原先的存储位置所在的磁盘分区不同的其他磁盘分区时,加密后视频文件的移动速度将非常慢,影响加密效率。\n发明内容\n[0006] 为了解决现有技术的问题,本发明实施例提供了一种加密、解密视频文件的方法、装置及移动终端。所述技术方案如下:\n[0007] 一种加密视频文件的方法,所述方法包括:\n[0008] 获取需加密视频文件和密钥;\n[0009] 使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;\n[0010] 获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n[0011] 在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;\n[0012] 其中,所述在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹,包括:\n[0013] 获取所述需加密视频文件的索引节点信息,所述索引节点信息包括存储路径;所述索引节点信息与视频数据成对应关系;\n[0014] 根据所述需加密视频文件的存储路径,在所有分区中匹配出存放所述需加密视频文件的分区;\n[0015] 根据存放所述需加密视频文件的分区中的预置文件夹,计算出所述加密后视频文件的存储路径,使所述加密后视频文件的存储路径指向存放所述需加密视频文件的分区中的预置文件夹;得到所述加密后视频文件的索引节点信息;\n[0016] 将所述需加密视频文件的索引节点信息更改为所述加密后视频文件的索引节点信息,以使所述加密后视频文件移动至所述存放所述需加密视频文件的分区中的预置文件夹。\n[0017] 其中,所述方法还包括:\n[0018] 扫描所述移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n[0019] 在扫描出的每一个所述分区中设置一个文件夹。\n[0020] 其中,所述使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件,包括:\n[0021] 读取长度为第一预设长度且存放在所述需加密视频文件头部的头部数据;\n[0022] 使用所述密钥对所述头部数据进行加密,获取所述头部数据加密后的密文;\n[0023] 根据所述密文和所述需加密视频文件中除所述头部数据外的剩余数据,得到所述加密后视频文件。\n[0024] 其中,所述根据所述密文和所述需加密视频文件中除所述头部数据外的剩余数据,得到所述加密后视频文件,包括:\n[0025] 获取所述头部数据在所述需加密视频文件中的存放区间;\n[0026] 根据所述头部数据的存放区间,分别获取长度为第二预设长度的特定头部数据的存放区间和所述密文的存放区间;所述第二预设长度小于所述第一预设长度;所述特定头部数据包括所述密文的存放区间和预置的加密标识;\n[0027] 生成所述特定头部数据,并保持所述需加密视频文件中除所述头部数据外的剩余数据不变,将所述特定头部数据和所述密文分别写入各自对应的存放区间,得到所述加密后的视频文件。\n[0028] 其中,所述根据所述头部数据的存放区间,获取长度为第二预设长度的所述特定头部数据的存放区间,包括:\n[0029] 从所述头部数据在所述需加密视频文件中的存放区间的始端点开始,获取存放数据的长度与所述第二预设长度一致的存放区间,得到所述特定头部数据的存放区间。\n[0030] 其中,所述根据所述头部数据的存放区间,获取所述密文的存放区间,包括:\n[0031] 获取所述密文的长度,并判断所述密文的长度是否大于所述第一预设长度与所述第二预设长度之间的长度差;\n[0032] 若所述密文的长度小于或等于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文的存放区间;\n[0033] 若所述密文的长度大于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文中长度为所述长度差的一部分密文的存放区间;获取所述需加密视频文件的存放区间,从所述需加密视频文件的存放区间的末端点开始,获取存放数据的长度与所述密文中另一部分密文的长度一致的存放空间,得到所述密文中另一部分密文的存放区间。\n[0034] 其中,所述方法还包括:\n[0035] 建立所述需加密视频文件的索引节点信息与所述加密后视频文件的索引节点信息之间的对应关系。\n[0036] 一种解密视频文件的方法,所述方法包括:\n[0037] 获取需解密视频文件和密钥;\n[0038] 使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件;\n[0039] 确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置;\n[0040] 其中,所述确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置,包括:\n[0041] 获取所述需解密视频文件的索引节点信息;\n[0042] 获取预先建立的需加密视频文件的索引节点信息与加密后视频文件的索引节点信息之间的对应关系;\n[0043] 从所述对应关系中获取所述需解密视频文件的索引节点信息对应的在加密前的索引节点信息;所述在加密前的索引节点信息包括所述需解密视频文件在加密前的存储路径;\n[0044] 将所述需解密视频文件的索引节点信息更改为在加密前的索引节点信息,以使所述解密后视频文件移动至在所述需解密视频文件在加密前的存储路径指示的存储位置。\n[0045] 其中,所述使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件,包括:\n[0046] 读取长度为第二预设长度且存放在所述需解密视频文件头部的头部数据,并根据所述头部数据,获取密文的存放区间;\n[0047] 根据所述密文的存放区间,读取所述密文;\n[0048] 使用所述密钥对所述密文进行解密,获取所述密文解密后的长度为第一预设长度的明文;所述第一预设长度大于所述第二预设长度;\n[0049] 根据所述明文和所述需解密视频文件中除所述头部数据和所述密文外的剩余数据,得到所述解密后视频文件。\n[0050] 其中,所述根据所述明文和所述需解密视频文件中除所述头部数据和所述密文外的剩余数据,得到所述解密后视频文件,包括:\n[0051] 获取所述需解密视频文件的存放区间;\n[0052] 从所述需解密视频文件的存放区间的始端点开始,获取存放数据的长度与所述第一预设长度一致的存放区间,得到所述明文的存放区间;\n[0053] 保持所述需解密视频文件中除所述头部数据和所述密文外的剩余数据不变,将所述明文覆盖至自己的存放区间,得到所述解密后视频文件。\n[0054] 其中,所述需解密视频文件为需预览视频文件,所述方法还包括:\n[0055] 读取所述第一预设长度的明文和所述剩余数据,并将所述明文和所述剩余数据构造为视频流,提供给流媒体进行播放。\n[0056] 一种加密视频文件的装置,所述装置包括:\n[0057] 第一获取模块,用于获取需加密视频文件和密钥;\n[0058] 加密模块,用于使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;\n[0059] 第二获取模块,用于获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n[0060] 第一移动模块,用于在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;\n[0061] 其中,所述第一移动模块包括:\n[0062] 第一获取子模块,用于获取所述需加密视频文件的索引节点信息,所述索引节点信息包括存储路径;所述索引节点信息与视频数据成对应关系;\n[0063] 匹配子模块,用于根据所述需加密视频文件的存储路径,在所有分区中匹配出存放所述需加密视频文件的分区;\n[0064] 计算子模块,用于根据存放所述需加密视频文件的分区中的预置文件夹,计算出所述加密后视频文件的存储路径,使所述加密后视频文件的存储路径指向存放所述需加密视频文件的分区中的预置文件夹;得到所述加密后视频文件的索引节点信息;\n[0065] 第一更改子模块,用于将所述需加密视频文件的索引节点信息更改为所述加密后视频文件的索引节点信息,以使所述加密后视频文件移动至所述存放所述需加密视频文件的分区中的预置文件夹。\n[0066] 其中,所述装置还包括:\n[0067] 扫描预置模块,用于扫描所述移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n[0068] 在扫描出的每一个所述分区中设置一个文件夹。\n[0069] 其中,所述加密模块包括:\n[0070] 第一读取子模块,用于读取长度为第一预设长度且存放在所述需加密视频文件头部的头部数据;\n[0071] 加密子模块,用于使用所述密钥对所述头部数据进行加密,获取所述头部数据加密后的密文;\n[0072] 写子模块,用于根据所述密文和所述需加密视频文件中除所述头部数据外的剩余数据,得到所述加密后视频文件。\n[0073] 其中,所述写子模块包括:\n[0074] 第一获取单元,用于获取所述头部数据在所述需加密视频文件中的存放区间;\n[0075] 第二获取单元,用于根据所述头部数据的存放区间,获取长度为第二预设长度的特定头部数据的存放区间;所述第二预设长度小于所述第一预设长度;所述特定头部数据包括所述密文的存放区间和预置的加密标识;\n[0076] 第三获取单元,用于获取所述密文的存放区间;\n[0077] 写单元,用于生成所述特定头部数据,并保持所述需加密视频文件中除所述头部数据外的剩余数据不变,将所述特定头部数据和所述密文分别写入各自对应的存放区间,得到所述加密后的视频文件。\n[0078] 其中,所述第二获取单元用于,\n[0079] 从所述头部数据在所述需加密视频文件中的存放区间的始端点开始,获取存放数据的长度与所述第二预设长度一致的存放区间,得到所述特定头部数据的存放区间。\n[0080] 其中,所述第三获取单元包括:\n[0081] 判断子单元,用于获取所述密文的长度,并判断所述密文的长度是否大于所述第一预设长度与所述第二预设长度之间的长度差;\n[0082] 第一密文区间子单元,用于若所述密文的长度小于或等于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文的存放区间;\n[0083] 第二密文区间子单元,用于若所述密文的长度大于所述长度差,则将所述头部数据的存放区间减去所述特定头部数据的存放区间,得到所述密文中长度为所述长度差的一部分密文的存放区间;获取所述需加密视频文件的存放区间,从所述需加密视频文件的存放区间的末端点开始,获取存放数据的长度与所述密文中另一部分密文的长度一致的存放空间,得到所述密文中另一部分密文的存放区间。\n[0084] 其中,所述第一移动模块还包括:\n[0085] 建立子模块,用于建立所述需加密视频文件的索引节点信息与所述加密后视频文件的索引节点信息之间的对应关系。\n[0086] 一种解密视频文件的装置,所述装置包括:\n[0087] 第三获取模块,用于获取需解密视频文件和密钥;\n[0088] 解密模块,用于使用所述密钥对所述需解密视频文件进行解密,得到解密后视频文件;\n[0089] 第二移动模块,用于确定所述需解密视频文件在加密前的存储位置,并移动所述解密后视频文件至所述加密前的存储位置;\n[0090] 其中,所述第二移动模块包括:\n[0091] 第二获取子模块,用于获取所述需解密视频文件的索引节点信息;\n[0092] 第三获取子模块,用于获取预先建立的需加密视频文件的索引节点信息与加密后视频文件的索引节点信息之间的对应关系;\n[0093] 第四获取子模块,用于从所述对应关系中获取所述需解密视频文件的索引节点信息对应的在加密前的索引节点信息;所述在加密前的索引节点信息包括所述需解密视频文件在加密前的存储路径;\n[0094] 第二更改子模块,用于将所述需解密视频文件的索引节点信息更改为在加密前的索引节点信息,以使所述解密后视频文件移动至在所述需解密视频文件在加密前的存储路径指示的存储位置。\n[0095] 其中,所述解密模块包括:\n[0096] 第二读取子模块,用于读取长度为第二预设长度且存放在所述需解密视频文件头部的头部数据,并根据所述头部数据,获取密文的存放区间;\n[0097] 第三读取子模块,用于根据所述密文的存放区间,读取所述密文;\n[0098] 解密子模块,用于使用所述密钥对所述密文进行解密,获取所述密文解密后的长度为第一预设长度的明文;所述第一预设长度大于所述第二预设长度;\n[0099] 覆盖子模块,用于根据所述明文和所述需解密视频文件中除所述头部数据和所述密文外的剩余数据,得到所述解密后视频文件。\n[0100] 其中,所述覆盖子模块包括:\n[0101] 第四获取单元,用于获取所述需解密视频文件的存放区间;\n[0102] 第五获取单元,用于从所述需解密视频文件的存放区间的始端点开始,获取存放数据的长度与所述第一预设长度一致的存放区间,得到所述明文的存放区间;\n[0103] 覆盖单元,用于保持所述需解密视频文件中除所述头部数据和所述密文外的剩余数据不变,将所述明文覆盖至自己的存放区间,得到所述解密后视频文件。\n[0104] 其中,所述需解密视频文件为需预览视频文件;所述解密模块还包括:\n[0105] 预览子模块,用于读取所述第一预设长度的明文和所述剩余数据,并将所述明文和所述剩余数据构造为视频流,提供给流媒体进行播放。\n[0106] 一种移动终端,其特征在于,所述移动终端包括前述的加密视频文件的装置和前述的解密视频文件的装置。\n[0107] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n附图说明\n[0108] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0109] 图1是本发明实施例提供的视频文件组成的示意图;\n[0110] 图2是本发明实施例一提供的一种加密视频文件的方法流程图;\n[0111] 图3是本发明实施例二提供的一种加密视频文件的方法流程图;\n[0112] 图4是本发明实施例二提供的需加密视频文件组成的示意图;\n[0113] 图5是本发明实施例二提供的加密后视频文件组成的示意图;\n[0114] 图6是本发明实施例二提供的加密后视频文件组成的示意图;\n[0115] 图7是本发明实施例三提供的一种解密视频文件的方法流程图;\n[0116] 图8是本发明实施例四提供的一种解密视频文件的方法流程图;\n[0117] 图9是本发明实施例四提供的构造视频流的示意图;\n[0118] 图10是本发明实施例五提供的一种加密视频文件的装置示意图;\n[0119] 图11是本发明实施例六提供的一种加密视频文件的装置示意图;\n[0120] 图12是本发明实施例七提供的一种解密视频文件的装置示意图;\n[0121] 图13是本发明实施例八提供的一种解密视频文件的装置示意图;\n[0122] 图14是本发明实施例九提供的一种移动终端的示意图。\n具体实施方式\n[0123] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。\n[0124] 为便于对本发明实施例所述技术方案的描述,下面首先对视频文件进行介绍。参见图1,视频文件通常包含了两个部分,分别是文件头模块和数据模块。其中,文件头模块一般存放在视频文件头部,主要包括视频文件的通用信息、定义的数据格式以及所用压缩算法等参数。数据模块追加在文件头模块后,主要包含实际视频数据流,即图像和声音的序列数据块,是视频文件主体。另外,数据模块还包括序列数据块列表和它们在文件中的位置,负责保证视频文件内数据的随机存取能力。\n[0125] 实施例一\n[0126] 参见图2,本发明实施例一提供了一种加密视频文件的方法,该方法包括:\n[0127] 101:获取需加密视频文件和密钥。\n[0128] 102:使用该密钥对该需加密视频文件进行加密,得到加密后视频文件。\n[0129] 103:获取预先扫描出的移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区。\n[0130] 104:在所有分区中确定存放该需加密视频文件的分区,并移动加密后视频文件至存放需加密视频文件的分区中的预置文件夹。\n[0131] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0132] 实施例二\n[0133] 参见图3,本发明实施例二提供了一种加密视频文件的方法,该方法包括:\n[0134] 201:扫描移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;在扫描出的每一个分区中设置一个文件夹。\n[0135] 其中,在加密视频文件之前,需预先扫描移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区。鉴于移动终端内置存储器的容量有限,用户一般将视频文件存储在扩展存储器中,例如SD(Secure Digital,安全数码)卡。具体地,在Android平台的移动终端上,扫描SD卡中除隐藏分区外的存储用户数据的分区,包括,首先,读取系统的/proc/mounts文件,以获取整个系统的所有挂载情况;其次,过滤掉不需要的挂载信息,比如rootfs,tmpfs,proc,devpts等;然后,过滤掉已知的Android系统上SD卡无效分区,包括asec,.android_secure,obb等;最后,根据vfat文件系统标识过滤出相应的有效分区,即除隐藏分区外的存储用户数据的分区。例如,假设过滤出两个SD卡中除隐藏分区外的存储用户数据的分区,分别为/mnt/sdcard、以及/mnt/sdcard/_external。\n[0136] 其中,完成分区的扫描后,在扫描出的每一个分区中新建一个文件夹,该文件夹用于存储加密后的视频文件。具体地,对过滤出的所有有效分区,在相应的挂载目录下创建一个隐藏文件夹.tmfs,该隐藏文件夹用于后续存放加密后的视频文件。\n[0137] 202:获取需加密视频文件和密钥。\n[0138] 具体地,下面以持有Android(安卓)操作平台的移动终端的用户为例,简单描述用户与安装在移动终端上的客户端(下文简称终端)之间的交互过程。为了提高文件的安全性,用户打算对其中一些视频文件进行加密。首先,用户启动终端,并按照终端显示的提示内容,为所有需加密视频文件设置一个用于加/解密的密钥。其次,用户选择其中一个需加密视频文件提交至终端。然后,用户对提交的信息确认无误后,提交加密请求。\n[0139] 具体地,终端接收该加密请求后,获取用户设置的密钥以及该需加密视频文件。\n[0140] 203:使用该密钥对该需加密视频文件进行加密,得到加密后视频文件。\n[0141] 进一步地,本步骤包括:\n[0142] 2031:读取长度为第一预设长度且存放在该需加密视频文件头部的头部数据。\n[0143] 其中,获取需加密视频文件后,读取存放在该需加密视频文件头部的头部数据。具体地,该头部数据为视频文件的文件头模块中长度为第一预设长度的数据块,例如1KB。由于单个视频文件的大小通常在50MB以上,因此,1KB的头部数据是视频文件非常小的部分。\n在本发明实施例二中,参见图4,假设需加密视频文件中数据的总长度为L;第一预设长度为L1;需加密视频文件中除该头部数据外剩余的数据的长度为L2;显然,L=L1+L2。\n[0144] 2032:在头部数据中查询是否存在预置的加密ID(Identity,标识)。\n[0145] 若存在加密ID,则判定需加密视频文件已被加密,退出本次加密流程,获取下一个需加密视频文件;若不存在加密ID,则判定需加密视频文件未被加密,执行2033。\n[0146] 其中,预先设置一个加密ID。该加密ID存放在加密后视频文件头部,用于对加密后的视频文件进行标识,避免用户对加密后的视频文件进行重复加密。若该需加密视频文件为加密后视频文件,那么读取的头部数据应包括该加密ID。具体地,在头部数据中查询该加密ID。若在头部数据中查询到该加密ID,则判定该需加密视频文件为加密后视频文件,退出本次加密流程。若在头部数据中未查询到该加密ID,则判定该需加密视频文件不为加密后视频文件,执行2033。\n[0147] 2033:使用密钥对该头部数据进行加密,获取该头部数据加密后的密文。\n[0148] 具体地,本发明实施例二中提供的加密视频文件的方法采用AES(Advanced Encryption Standard,高级加密标准)加密算法。AES加密算法为分组密码算法,通常由密钥扩展算法和加密(解密)算法两部分组成。密钥扩展算法将b字节用户主密钥扩展成r个子密钥;加密算法由一个密码学上的弱函数f与r个子密钥迭代r次组成。此为现有技术,不再详述。\n[0149] 具体地,终端首先用AES密钥扩展算法将密钥扩展成若干个子密钥;然后根据该若干个子密钥,用AES加密算法将头部数据进行加密;最后获取该头部数据加密后的密文。\n[0150] 2034:根据该密文和该需加密视频文件中除该头部数据外的剩余数据,得到加密后视频文件。\n[0151] 进一步地,本步骤包括:\n[0152] 2034a:获取头部数据在该需加密视频文件中的存放区间。\n[0153] 其中,根据读取的头部数据,进一步读取头部数据在需加密视频文件中的存放区间。该存放区间为,头部数据在移动终端或SD卡等扩展存储器上的存储地址段。具体地,参见图4,假设头部数据在需加密视频文件中的存放区间为[x,n]。即,[x,n]中存放数据的长度为第一预设长度L1。\n[0154] 2034b:获取长度为第二预设长度的特定头部数据的存放区间。\n[0155] 其中,第二预设长度小于第一预设长度;特定头部数据包括密文的存放区间和预置的加密ID。\n[0156] 具体地,获取长度为第二预设长度的特定头部数据的存放区间包括,从头部数据在需加密视频文件中的存放区间的始端点开始,获取存放数据的长度与第二预设长度一致的存放区间,得到特定头部数据的存放区间。\n[0157] 具体地,该特定头部数据用于对加密后的视频文件进行标识和指示密文的存放位置,为后续解密流程和预览加密视频流程提供辅助信息。该特定头部数据为长度为第二预设长度的数据块,例如56B(小于1KB)。在本发明实施例二中,参见图5~图6,假设获取的特定头部数据的存放区间为[x,m];第二预设长度为La。即,[x,m]中存放数据的长度为La。\n[0158] 2034c:获取密文的存放区间。\n[0159] 进一步地,本步骤包括以下步骤A~C:\n[0160] 步骤A、获取密文的长度,并判断密文的长度是否大于第一预设长度和第二预设长度之间的长度差。\n[0161] 若密文的长度小于或等于该长度差,则执行步骤B;若密文的长度大于该长度差,则执行步骤C。\n[0162] 具体地,根据头部数据加密后的密文,读取密文数据的总长度。假设密文的长度为Lb。已知头部数据的长度为第一预设长度L1,第二预设长度为La。若Lb≤L1-La,则执行步骤B;若Lb>L1-La,则执行步骤C。\n[0163] 步骤B、将头部数据的存放区间减去特定头部数据的存放区间,得到密文的存放区间。执行2034d。\n[0164] 具体地,已知头部数据的存放区间为[x,n],特定头部数据的存放区间为[x,m];\n那么,密文的存放区间为[m+1,n],即[m+1,n]中存放数据的长度为Lb。执行2034d。\n[0165] 步骤C、将头部数据的存放区间减去特定头部数据的存放区间,得到密文中长度为第一预设长度与第二预设长度之间的长度差的一部分密文的存放区间;获取需加密视频文件的存放区间,从需加密视频文件的存放区间的末端点开始,获取存放数据的长度与密文中另一部分密文的长度一致的存放空间,得到密文中另一部分密文的存放区间。执行\n2034d。\n[0166] 具体地,已知密文的长度为Lb,假设密文中一部分密文的长度为Lb1,另一部分密文的长度为Lb2。显然,Lb=Lb1+Lb2。密文中一部分密文在加密后视频文件中的存放区间为前述[m+1,n],即[m+1,n]中存放数据的长度为Lb1。\n[0167] 其中,需加密视频文件的存放区间为,需加密视频文件在移动终端或SD卡等扩展存储器上的存储地址段。具体地,根据获取的需加密视频文件,获取需加密视频文件的存放区间。在本发明实施例二中,参见图4,假设获取的需加密视频文件的存放区间为[x,y]。\n[0168] 具体地,已知需加密视频文件的存放区间为[x,y],需加密视频文件的存放区间的末端点为y;那么,密文中一部分密文在加密后视频文件中的存放区间为[y+1,z]。其中,[y+1,z]中存放数据的长度为Lb2。执行2034d。\n[0169] 2034d:生成特定头部数据,并保持需加密视频文件中除头部数据外的剩余数据不变,将特定头部数据和密文分别写入各自对应的存放区间,得到加密后的视频文件。\n[0170] 其中,先根据预置的加密ID和密文在加密后视频文件中的存放区间,生成该特定头部数据。具体地,加密ID存放在该特定头部数据头部,即加密后视频文件头部。另外,生成特定头部数据的过程需符合相关协议。\n[0171] 具体地,获取特定头部数据和密文的存放区间后,分别特定头部数据和密文写入各自的存放区间。假设加密后视频文件数据的总长度为L’,参见图5~图6,加密后视频文件由特定头部数据、密文和需加密视频文件中除该头部数据外的剩余数据组成。由于需加密视频文件开始的部分数据已经被“扰乱”,常规正常的视频解码器是无法对该文件进行解析并解码的,从而保证了用户的隐私。\n[0172] 204:获取预先扫描出的移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区。\n[0173] 具体地,获取通过201扫描出的移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区。例如,获取/mnt/sdcard、以及/mnt/sdcard/_external两个分区。\n[0174] 205:在所有分区中确定存放该需加密视频文件的分区,并移动加密后视频文件至存放需加密视频文件的分区中的预置文件夹。\n[0175] 进一步地,本步骤包括:\n[0176] 2051:获取需加密视频文件的inode(索引节点)信息。\n[0177] 其中,该inode信息包括存储路径。该inode信息与视频数据成对应关系。\n[0178] 一般地,Android平台是基于Linux内核来实现的,其拥有Linux优秀的文件系统功能。该文件系统采用inode节点和与inode节点关联的block(数据块)来管理系统中的文件。inode节点用于标识文件的属性,包括文件名称、大小、存储路径、格式等文件信息。\nblock用于标识文件具体数据内容。即,同一磁盘分区中的数据内容相同而文件属性不同的若干个文件,各自的inode节点不同,但是与inode节点关联的block是唯一的。此为现有技术,在此不再详述。本实施例便是采用该技术来实现加密后视频文件和解密后视频文件的快速移动的。例如,假设该需加密视频文件的存储路径为/mnt/sdcard/_external/test_dir/test.txt。\n[0179] 2052:根据需加密视频文件的存储路径,在所有分区中匹配出存放该需加密视频文件的分区。\n[0180] 其中,可以依据“最长最佳”匹配原则,在所有分区中匹配出存放需加密视频文件的分区。例如,已知过滤出两个SD卡中除隐藏分区外的存储用户数据的分区,分别为/mnt/sdcard、以及/mnt/sdcard/_external;该需加密视频文件的存储路径为/mnt/sdcard/_external/test_dir/test.txt。首先得到该需加密视频文件的存储目录为/mnt/sdcard/_external/test_dir;然后分别在两个分区中进行匹配;由此,得到最长最佳的匹配结果为/mnt/sdcard/_external,即该需加密视频文件的分区。\n[0181] 2053:根据存放需加密视频文件的分区中的预置文件夹,计算出加密后视频文件的存储路径,使加密后视频文件的存储路径指向存放需加密视频文件的分区中的预置文件夹;得到加密后视频文件的inode信息。\n[0182] 具体地,已知存放需加密视频文件的分区为/mnt/sdcard/_external,该分区中预置的文件夹名为test_file;并假设加密后视频文件的文件名称与需加密视频文件的文件名称一致,为test.txt;则计算出的加密后视频文件的存储路径为/mnt/sdcard/_external/test_file/test.txt。\n[0183] 具体地,加密后视频文件的inode信息包括加密后视频文件的存储路径。\n[0184] 2054:将需加密视频文件的inode信息更改为加密后视频文件的inode信息,以使加密后视频文件移动至存放所述需加密视频文件的分区中的预置文件夹。\n[0185] 具体地,SD卡的读取速度通常比较慢,如果直接移动加密后视频文件的数据,速度将非常慢,影响用户体验。在本发明实施例中,对于加密后视频文件,只需要更改inode信息,而不需要移动文件的任何数据内容,就能够移动加密后视频文件到指定文件夹,实现了高效的文件搬移。\n[0186] 2055:建立需加密视频文件的inode信息与加密后视频文件的inode信息之间的对应关系。\n[0187] 其中,该对应关系以数据库的形式存储。由于在Android平台中,默认应用程序创建的数据库是保存在应用程序私有目录下,它会在程序卸载时被系统一并清除;因此,为了确保数据库在应用程序卸载之后依然存在,后续用户可以通过重新安装相应的应用程序取回原来的加密文件,避免数据的丢失,本发明实施例2中描述的该数据库可以通过在SD卡特定的目录下创建SQL数据库并对该数据库进行完全的访问控制。具体实现方法包括,仿照Android系统自带的SQLiteOpenHelper.java文件构造SDCardSQLiteOpenHelper.java文件,把SQLiteOpenHelper中在应用程序私有目录下创建数据相关的操作更改为在SD卡指定目录下创建数据库,封装数据库操作相关的query,insert,update,delete等操作,给调用者提供统一的接口。\n[0188] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0189] 实施例三\n[0190] 参见图7,本发明实施例三提供了一种解密视频文件的方法,该方法包括:\n[0191] 301:获取需解密视频文件和密钥。\n[0192] 302:使用该密钥对该需解密视频文件进行解密,得到解密后视频文件。\n[0193] 303:确定需解密视频文件在加密前的存储位置,并移动解密后视频文件至加密前的存储位置。\n[0194] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0195] 实施例四\n[0196] 参见图8,本发明实施例四提供了一种解密视频文件的方法,该方法包括:\n[0197] 401:获取需解密视频文件和密钥。\n[0198] 其中,该需解密视频文件可以为需预览视频文件。\n[0199] 具体地,用户实现加密视频文件后,打算对加密后视频文件进行解密操作或进行预览操作。用户按照终端显示的提示内容,输入正确的密钥,并选择了一个需解密视频文件,向终端提交解密请求。\n[0200] 具体地,终端接收解密请求后,获取需解密视频文件和密钥。另外,终端需验证该密钥是否与加密方法中用户设置的密钥一致。若一致,则执行后续流程;若不一致,则提示用户重新输入正确的密钥。\n[0201] 402:使用该密钥对该需解密视频文件进行解密,得到解密后视频文件。\n[0202] 进一步地,本步骤具体包括:\n[0203] 4021:读取长度为第二预设长度且存放在需解密视频文件头部的头部数据。\n[0204] 具体地,获取需解密视频文件后,从需解密视频文件头部开始,读取长度为第二预设长度的头部数据。\n[0205] 4022:在该头部数据中查询是否存在预置的加密ID。\n[0206] 若不存在加密ID,则判定需解密视频文件未被加密,退出本次解密流程。若存在加密ID,则判定需加密视频文件为加密后视频文件,执行4023。\n[0207] 具体地,加密后视频文件头部存放了长度为第二预设长度的特定头部数据,且该特定头部数据包括密文的存放区间和预置的加密ID。该加密ID用于对加密后的视频文件进行标识,避免用户对加密后的视频文件进行重复加密。若需解密视频文件为加密后视频文件,则该头部数据中存在该加密ID。\n[0208] 4023:根据该头部数据,获取密文的存放区间。\n[0209] 具体地,需解密视频文件为加密后视频文件,则该头部数据包括密文的存放区间。\n[0210] 4024:根据密文的存放区间,读取密文。\n[0211] 具体地,获取密文的存放区间后,从该存放区间读取密文。\n[0212] 4025:使用密钥对密文进行解密,获取密文解密后的长度为第一预设长度的明文。\n[0213] 其中,所述第一预设长度大于所述第二预设长度。\n[0214] 具体地,采用AES解密算法对密文进行解密,并获取密文解密后的明文。根据本发明实施例二中的描述,在加密过程中,获取的长度为第一预设长度的明文进行加密。即,解密后得到的明文的长度应为第一预设长度。参见图4,假设第一预设长度为L1。\n[0215] 4026:当该需解密视频文件为需预览视频文件时,读取第一预设长度的明文和剩余数据,并将明文和剩余数据构造为视频流,提供给流媒体进行播放。\n[0216] 值得说明的是,本步骤为可选执行步骤,取决于需解密视频文件是否为需预览视频文件。在实际应用中,用户可能会先预览视频文件,再进行解密操作。这时,需执行预览操作。进一步地,本步骤包括:\n[0217] 4026a:当需解密视频文件为需预览视频文件时,读取解密得到的长度为第一预设长度的明文。\n[0218] 具体地,在实际应用中,将读取的明文存储在内存中,可以保证视频文件的安全性。\n[0219] 4026b:获取需预览视频文件的存放区间;将需预览视频文件的存放区间减去数据长度与第一预设长度一致的存放区间,得到需预览视频文件中除头部数据和密文外的剩余数据的存放区间;从剩余数据的存放区间读取剩余数据。\n[0220] 具体地,获取明文后,进一步获取需预览视频文件中除明文外的剩余数据。\n[0221] 4026c:将明文和剩余数据构造为视频流,并提供给流媒体进行播放。\n[0222] 具体地,参见图9,流媒体在解码过程中会不断的向视频流提出要获取视频数据的请求;该请求包括需播放的数据大小和存储位置。视频流则可以根据流媒体发送的请求,提供相应的数据给流媒体。特别的,当请求的原始视频文件数据落在被加密的数据区间的时候,视频流则从解密后的数据区域中把,即明文,馈送给流媒体;当请求的数据落在为加密的数据区间时,即剩余数据,视频流则直接从剩余数据的存放区间中读取数据并馈送给流媒体。值得说明的是,当退出流媒体后,终端再将该预览的视频文件恢复到加密状态。由于这些操作对用户来说都是透明的,因而在保证操作的便捷性。\n[0223] 4027:根据明文和需解密视频文件中除头部数据和密文外的剩余数据,得到解密后视频文件。\n[0224] 进一步,本步骤包括:\n[0225] 4027a:获取需解密视频文件的存放区间。\n[0226] 具体地,根据获取的需解密视频文件,进一步获取需解密视频文件的存放区间。参见图6,假设需解密视频文件的存放区间为[x,z];[x,z]中存放数据的长度为L’。\n[0227] 4027b:从需解密视频文件的存放区间的始端点开始,获取存放数据的长度与第一预设长度一致的存放区间,得到明文的存放区间。\n[0228] 具体地,参见图4,假设得到的明文的存放区间为[x,n];[x,n]中存放数据的长度为L1。\n[0229] 4027c:保持需解密视频文件中除头部数据和密文外的剩余数据不变,将明文覆盖至自己的存放区间,得到解密后视频文件。\n[0230] 具体地,参见图4,解密后视频文件即为加密前的需加密视频文件。\n[0231] 403:确定需解密视频文件在加密前的存储位置,并移动解密后视频文件至该加密前的存储位置。\n[0232] 进一步地,本步骤包括:\n[0233] 4031:获取需解密视频文件的inode信息。\n[0234] 具体地,该inode信息包括需解密视频文件的存储路径。\n[0235] 4032:获取预先建立的需加密视频文件的inode信息与加密后视频文件的inode信息之间的对应关系。\n[0236] 具体地,从数据库中获取预先存储的需加密视频文件的inode信息与加密后视频文件的inode信息之间的对应关系。\n[0237] 4033:从对应关系中获取需解密视频文件的inode信息对应的在加密前的inode信息。\n[0238] 其中,该在加密前的inode信息包括需解密视频文件在加密前的存储路径。\n[0239] 4034:将需解密视频文件的inode信息更改为在加密前的inode信息,以使解密后视频文件移动至在需解密视频文件在加密前的存储路径指示的存储位置。\n[0240] 具体地,为了使用户更好地区分解密后视频文件与需解密视频文件,完成解密过程后,还应将解密后视频文件的inode信息设置为在加密前的inode信息。\n[0241] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0242] 实施例五\n[0243] 参见图10,本发明实施例五提供了一种加密视频文件的装置,该装置包括:\n[0244] 第一获取模块501,用于获取需加密视频文件和密钥。\n[0245] 加密模块502,用于使用该密钥对该需加密视频文件进行加密,得到加密后视频文件。\n[0246] 第二获取模块503,用于获取预先扫描出的移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区。\n[0247] 第一移动模块504,用于在所有分区中确定存放该需加密视频文件的分区,并移动加密后视频文件至存放需加密视频文件的分区中的预置文件夹。\n[0248] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0249] 实施例六\n[0250] 参见图11,本发明实施例六提供了一种加密视频文件的装置,该装置包括:\n[0251] 第一获取模块601,用于获取需加密视频文件和密钥。\n[0252] 加密模块602,用于使用该密钥对该需加密视频文件进行加密,得到加密后视频文件。\n[0253] 其中,加密模块602包括:\n[0254] 第一读取子模块6021,用于读取长度为第一预设长度且存放在需加密视频文件头部的头部数据。\n[0255] 加密子模块6022,用于使用密钥对头部数据进行加密,获取头部数据加密后的密文。\n[0256] 写子模块6023,用于根据密文和需加密视频文件中除头部数据外的剩余数据,得到加密后视频文件。\n[0257] 其中,写子模块6023包括:\n[0258] 第一获取单元6023a,用于获取头部数据在需加密视频文件中的存放区间。\n[0259] 第二获取单元6023b,用于根据头部数据的存放区间,分别获取长度为第二预设长度的特定头部数据的存放区间和密文的存放区间;第二预设长度小于第一预设长度;特定头部数据包括密文的存放区间和预置的加密ID。\n[0260] 具体地,第一获取单元6023a用于,从头部数据在需加密视频文件中的存放区间的始端点开始,获取存放数据的长度与第二预设长度一致的存放区间,得到特定头部数据的存放区间。\n[0261] 第三获取单元6023c,用于获取密文的存放区间。\n[0262] 具体地,第三获取单元6023c包括:\n[0263] 判断子单元,用于获取密文的长度,并判断密文的长度是否大于第一预设长度与第二预设长度之间的长度差。\n[0264] 第一密文区间子单元,用于若密文的长度小于或等于长度差,则将头部数据的存放区间减去特定头部数据的存放区间,得到密文的存放区间。\n[0265] 第二密文区间子单元,用于若密文的长度大于长度差,则将头部数据的存放区间减去特定头部数据的存放区间,得到密文中长度为长度差的一部分密文的存放区间;获取需加密视频文件的存放区间,从需加密视频文件的存放区间的末端点开始,获取存放数据的长度与密文中另一部分密文的长度一致的存放空间,得到密文中另一部分密文的存放区间。\n[0266] 写单元6023d,用于生成特定头部数据,并保持需加密视频文件中除头部数据外的剩余数据不变,将特定头部数据和密文分别写入各自对应的存放区间,得到加密后的视频文件。\n[0267] 第一查询子模块6024,用于在头部数据中查询是否存在预置的加密ID;若存在加密ID,则判定需加密视频文件已被加密,退出本次加密流程。\n[0268] 相应地,加密子模块6022还用于,若不存在加密ID,则判定需加密视频文件未被加密,使用密钥对头部数据进行加密。\n[0269] 第二获取模块603,用于获取预先扫描出的移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区。\n[0270] 第一移动模块604,用于在所有分区中确定存放该需加密视频文件的分区,并移动加密后视频文件至存放需加密视频文件的分区中的预置文件夹。\n[0271] 其中,第一移动模块604包括:\n[0272] 第一获取子模块6041,用于获取需加密视频文件的inode(索引节点)信息。其中,该inode信息包括存储路径。该inode信息与视频数据成对应关系。\n[0273] 匹配子模块6042,用于根据需加密视频文件的存储路径,在所有分区中匹配出存放该需加密视频文件的分区。\n[0274] 计算子模块6043,用于根据存放需加密视频文件的分区中的预置文件夹,计算出加密后视频文件的存储路径,使加密后视频文件的存储路径指向存放需加密视频文件的分区中的预置文件夹;得到加密后视频文件的inode信息。\n[0275] 第一更改子模块6044,用于将需加密视频文件的inode信息更改为加密后视频文件的inode信息,以使加密后视频文件移动至存放所述需加密视频文件的分区中的预置文件夹。\n[0276] 建立子模块6045,用于建立需加密视频文件的inode信息与加密后视频文件的inode信息之间的对应关系。\n[0277] 其中,该装置还包括:\n[0278] 扫描预置模块605,用于扫描移动终端及移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;在扫描出的每一个分区中设置一个文件夹。\n[0279] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0280] 实施例七\n[0281] 参见图12,本发明实施例七提供了一种解密视频文件的装置,该装置包括:\n[0282] 第三获取模块701,用于获取需解密视频文件和密钥。\n[0283] 解密模块702,用于使用该密钥对该需解密视频文件进行解密,得到解密后视频文件。\n[0284] 第二移动模块703,用于确定需解密视频文件在加密前的存储位置,并移动解密后视频文件至加密前的存储位置。\n[0285] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0286] 实施例八\n[0287] 参见图13,本发明实施例八提供了一种解密视频文件的装置,该装置包括:\n[0288] 第三获取模块801,用于获取需解密视频文件和密钥。\n[0289] 解密模块802,用于使用该密钥对该需解密视频文件进行解密,得到解密后视频文件。\n[0290] 其中,解密模块802包括:\n[0291] 第二读取子模块8021,用于读取长度为第二预设长度且存放在需解密视频文件头部的头部数据,并根据头部数据,获取密文的存放区间。\n[0292] 第三读取子模块8022,用于根据密文的存放区间,读取密文。\n[0293] 解密子模块8023,用于使用密钥对密文进行解密,获取密文解密后的长度为第一预设长度的明文;第一预设长度大于所述第二预设长度。\n[0294] 覆盖子模块8024,用于根据明文和需解密视频文件中除头部数据和密文外的剩余数据,得到解密后视频文件。\n[0295] 其中,覆盖子模块8024包括:\n[0296] 第四获取单元8024a,用于获取需解密视频文件的存放区间。\n[0297] 第五获取单元8024b,用于从需解密视频文件的存放区间的始端点开始,获取存放数据的长度与第一预设长度一致的存放区间,得到明文的存放区间。\n[0298] 覆盖单元8024c,用于保持需解密视频文件中除头部数据和密文外的剩余数据不变,将明文覆盖至自己的存放区间,得到解密后视频文件。\n[0299] 其中,该解密模块802还包括:\n[0300] 第二查询子模块8025,用于在头部数据中查询是否存在预置的加密ID;若不存在加密ID,则判定需解密视频文件未被加密,退出本次解密流程。\n[0301] 相应地,第二读取子模块8021还用于,若存在加密ID,则判定需加密视频文件为加密后视频文件,根据头部数据,获取密文的存放区间。\n[0302] 其中,需解密视频文件为需预览视频文件,该解密模块802还包括:\n[0303] 预览子模块8026,用于读取第一预设长度的明文和剩余数据,并将明文和剩余数据构造为视频流,提供给流媒体进行播放。\n[0304] 进一步地,预览子模块8026包括:\n[0305] 明文单元8026a,用于当需解密视频文件为需预览视频文件时,读取解密得到的长度为第一预设长度的明文。\n[0306] 剩余数据单元8026b,用于获取需预览视频文件的存放区间;将需预览视频文件的存放区间减去数据长度与第一预设长度一致的存放区间,得到需预览视频文件中除头部数据和密文外的剩余数据的存放区间;从剩余数据的存放区间读取剩余数据。\n[0307] 视频流单元8026c,用于将明文和剩余数据构造为视频流,并提供给流媒体进行播放。\n[0308] 第二移动模块803,用于确定需解密视频文件在加密前的存储位置,并移动解密后视频文件至加密前的存储位置。\n[0309] 其中,第二移动模块803包括:\n[0310] 第二获取子模块8031,用于获取需解密视频文件的inode信息。\n[0311] 第三获取子模块8032,用于获取预先建立的需加密视频文件的inode信息与加密后视频文件的inode信息之间的对应关系。\n[0312] 第四获取子模块8033,用于从对应关系中获取需解密视频文件的inode信息对应的在加密前的inode信息。\n[0313] 第二更改子模块8034,用于将需解密视频文件的inode信息更改为在加密前的inode信息,以使解密后视频文件移动至在需解密视频文件在加密前的存储路径指示的存储位置。\n[0314] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0315] 实施例九\n[0316] 参见图14,本发明实施例九提供了一种移动终端,该移动终端包括:加密视频文件的装置901和解密视频文件的装置902。\n[0317] 具体地,加密视频文件的装置901为实施例五或实施例六描述的加密视频文件的装置;解密视频文件的装置902为实施例七或实施例八描述的解密视频文件的装置。\n[0318] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加密视频文件和密钥;使用所述密钥对所述需加密视频文件进行加密,得到加密后视频文件;由于加密后视频文件中存在密文,视频解码器无法对加密后视频文件进行识别,安全性较高;获取预先扫描出的移动终端及所述移动终端上的扩展存储器中除隐藏分区外的存储用户数据的分区;\n在所有分区中确定存放所述需加密视频文件的分区,并移动所述加密后视频文件至所述存放所述需加密视频文件的分区中的预置文件夹;将加密后视频文件移动至加密前的存储位置所在的分区的指定文件夹中,由于是在同一个分区内移动,移动的速度将比较快,使得加密所耗费的时间少,加密效率高,并提高了产品的市场竞争力。\n[0319] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。\n[0320] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。\n[0321] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2020-09-18
专利权的转移
登记生效日: 2020.08.28
专利权人由腾讯科技(深圳)有限公司变更为腾讯科技(深圳)有限公司
地址由518000 广东省深圳市福田区赛格科技园2栋东403室变更为518000 广东省深圳市福田区振兴路赛格科技园2栋东403室
专利权人变更为腾讯云计算(北京)有限责任公司
- 2014-04-09
- 2013-02-20
实质审查的生效
IPC(主分类): G06F 21/62
专利申请号: 201210315011.X
申请日: 2012.08.30
- 2013-01-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-03-07
|
2011-10-13
| | |
2
| |
2012-08-01
|
2011-01-27
| | |
3
| |
2011-09-14
|
2010-12-22
| | |
4
| |
2003-10-29
|
2000-05-02
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |