加密文件离线播放方法和系统与流程

文档序号:31407829发布日期:2022-09-03 07:42阅读:83来源:国知局
加密文件离线播放方法和系统与流程

1.本发明涉及数据加密/解密领域,特别是涉及一种加密文件离线播放方法和系统。


背景技术:

2.随着电子技术的普及,经常会通过电子设备观看需要的文件信息,例如视频、录音、文档等。为便于观看和处理,一些文件信息会通过一个电子设备例如手机导入到另一个电子设备例如pad等中进行观看。然而,在一些特定应用场景下,例如,对于需要保密的文件,必须要在离线状态下进行观看,并且这些文件在加密之前是必须要进行加密的,避免泄密。这种情况下,在观看之前需要对文件进行解密,而对于一些超大文件,往往解密时间比较长例如可能多大好几分钟,这样,用户等待时间会国产,导致用户体验差。


技术实现要素:

3.针对上述技术问题,本发明采用的技术方案为:本发明一实施例提供一种加密文件离线播放方法,所述离线播放方法包括如下步骤:s100,基于原始文件的大小m和设定的字节流d将所述原始文件分成n=

m/d

个子文件,m大于等于设定阈值;其中,d=v*

t,v为播放设备的解密速度,单位为字节/秒,v基于m、原始文件的播放时间t确定,

t为设定的解密时间,单位为秒;s110,按照设定的加密方法分别对n个子文件进行加密,得到所述加密文件;s120,从所述加密文件中获取需要解密的子文件i,i的取值为1到n;s130,如果i=1,则按照设定的解密算法对子文件i进行解密,并在解密的同时播放子文件i;如果1<i≤n,执行s140;如果i>n,退出解密控制程序,执行s140;s140,获取当前在播放设备中播放的子文件的位置数c,如果c=i-1,执行s150;如果c<i-1,执行s160;如果c=n,则在当前子文件播放后退出播放控制程序;c的取值为1到n;s150,按照设定的解密算法对子文件i进行解密,并在当前子文件播放完后播放子文件i;执行s170;s160,按照设定的解密算法对子文件i进行解密,并将解密后的子文件i存储至待播放区,以及在当前子文件播放完后播放第c+1个子文件;执行s170;s170,设置i=i+1;执行s130。
4.本发明另一实施例提供一种加密文件离线播放系统,包括:加密装置和至少一个播放设备;所述加密装置和所述至少一个播放设备通过外接设备连接;所述加密装置和所述播放设备均不与外部网络连接;所述加密装置用于获取原始文件并进行加密后发送给所述播放设备进行播放,所述原始文件的大小大于等于设定阈值;其中,所述加密装置按照如下方法对原始文件进行加密:基于原始文件的大小m和设定的字节流d将所述原始文件分成n=
⌈ m/d ⌉
个子文
件,m大于等于设定阈值;其中,d=v*

t,v为播放设备的解密速度,单位为字节/秒,v基于m、原始文件的播放时间t确定,

t为设定的解密时间,单位为秒;按照设定的加密方法分别对n个子文件进行加密,得到所述加密文件;所述播放设备用于按照如下方式对接收到的加密文件进行离线播放:s300,从所述加密文件中获取需要解密的子文件i,i的取值为1到n;s310,如果i=1,则按照设定的解密算法对子文件i进行解密,并在解密的同时播放子文件i;如果1<i≤n,执行s320;如果i>n,退出解密控制程序,执行s320;s320,获取当前在播放设备中播放的子文件的位置数c,如果c=i-1,执行s330;如果c<i-1,执行s340;如果c=n,则在当前子文件播放后退出播放控制程序;c的取值为1到n;s330,按照设定的解密算法对子文件i进行解密,并在当前子文件播放完后播放子文件i;执行s350;s340,按照设定的解密算法对子文件i进行解密,并将解密后的子文件i存储至待播放区,以及在当前子文件播放完后播放第c+1个子文件;执行s350;s350,设置i=i+1;执行s310。
5.本发明至少具有以下有益效果:本发明实施例提供的加密文件离线播放方法和系统,由于在对超大文件进行加密时,按照设定的字节流逐步进行加密,使得在离线播放时,能够边解密边播放,从而能够实时播放文件,提高用户体验。
附图说明
6.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
7.图1为本发明实施例提供的加密文件离线播放方法的流程图。
具体实施方式
8.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
9.图1为本发明实施例提供的加密文件离线播放方法的流程图。如图1所示,本发明实施例提供的加密文件离线播放方法可包括以下步骤:s100,基于原始文件的大小m和设定的字节流d将所述原始文件分成n=
⌈ m/d ⌉
个子文件; 所述原始文件的大小大于等于设定阈值,即为超大文件。符号
⌈ ⌉
表示向上取整。
10.在本发明实施例中,原始文件可为需要加密的文件,包括涉密视频、录音、文档、图片等。
11.在本发明一实施例中,设定字节流d可基于原始文件的大小m,原始文件的播放时间t和播放设备的播放性能确定。具体地,在一个示意性实施例中,d=v*

t,v为播放设备的
解密速度,单位为字节/秒,v基于m、原始文件的播放时间t确定。

t为设定的解密时间,单位为秒。
12.在本发明实施例中,

t为无感知时间,即当用户开始观看解密视频时,播放设备解密第一个文件的时间使得用户无法感知等待视频加载时间,即能够使得用户觉得观看和解密是同步进行的。

t可基于试验统计获取。例如,随机确定k个试验对象,每个试验对象在同一播放设备上观看同一视频文件,分别以不同的时间逐步加载文件,然后获取每个试验对象觉得没有感知到加载过程中视频卡顿的最大时间,最后将获取的k个最大时间取均值,得到

t。在一个具体示例中,

t=2s。
13.本发明实施例中,设置d=v*

t能够使得既能满足无感知观看播放文件,又能尽可能多地解析文件,使得解析时间尽可能的缩短。
14.进一步地,在本发明一示意性实施例中,v可通过查阅预设解密速度查询表确定,所述预设解密速度查询表的第k行包括(v
k1
,v
k2


,v
kh
),v
kr
为文件大小为mr、播放时间为tk对应的解密速度,k的取值为1到n,n为设定的播放时间的数量,r的取值为1到h,h为设定的文件大小的数量。
15.在本发明实施例中,每个播放设备的预设的解密速度表可基于不同的文件得到。这些不同的文件具有不同的文件大小和播放时间。
16.进一步地,在本发明实施例中,对于某个播放设备播放的文件,如果播放的文件的大小和播放时间均能在对应的预设解密速度查询表中查阅到,则将对应的解密速度作为该文件的解密速度。
17.进一步地,在本发明另一实施例中,对于某个播放设备播放的文件,如果播放的文件的大小m能在对应的预设解密速度查询表中查阅到但是文件的播放时间t不能查阅到,则基于如下方式获取v:s11,从预设解密速度查询表中获取小于t并且与t之间的差值最小的时间t1,并基于t1和m获取对应的速度v1;s12,从预设解密速度查询表中获取大于t并且与t之间的差值最小的时间t2,并基于t2和m获取对应的速度v2;s13,基于(t-t1)/(v-v1)=(t2-t1)/(v2-v1),得到v。
18.进一步地,在本发明另一实施例中,对于某个播放设备播放的文件,如果播放的文件的大小m不能在对应的预设解密速度查询表中查阅到但是文件的播放时间t能查阅到,则基于如下方式获取v:s21,从预设解密速度查询表中获取小于m并且与m之间的差值最小的时间m1,并基于m1和t获取对应的速度v1;s22,从预设解密速度查询表中获取大于m并且与m之间的差值最小的时间m2,并基于m2和t获取对应的速度v2;s23,基于(m-m1)/(v-v1)=(m2-m1)/(v2-v1),得到v。
19.进一步地,在本发明另一实施例中,对于某个播放设备播放的文件,如果播放的文件的大小m不能在对应的预设解密速度查询表中查阅到并且文件的播放时间t也不能查阅到,则基于如下方式获取v:s31,从预设解密速度查询表中获取小于t并且与t之间的差值最小的时间t1,以及
从预设解密速度查询表中获取大于t并且与t之间的差值最小的时间t2;s32,从预设解密速度查询表中获取小于m并且与m之间的差值最小的时间m1,以及从预设解密速度查询表中获取大于m并且与m之间的差值最小的时间m2;s33,分别从预设解密速度查询表中获取t1和m1对应的速度v
11
、t1和m2对应的速度v
12
、t2和m1对应的速度v
11
以及t2和m2对应的速度v
22
;s34,基于(m-m1)/(v1-v
11
)=(m2-m1)/(v
12-v
11
),获取第一速度v1;s35,基于(m-t1)/(v2-v
21
)=(m2-m1)/(v
22-v
21
),获取第二速度v2;s36,基于(t-t1)/(v-v1)=(t2-t1)/(v2-v1),获取v。
20.在本发明实施例中,设定阈值可为大于等于1g。在一个示意性实施例中,设定阈值可为1g,在另一个示意性实施例中,设定阈值可为2g。
21.s110,按照设定的加密方法分别对n个子文件中的每个子文件进行加密,得到所述加密文件。
22.在本发明实施例中,设定的加密方法可为现有的加密算法,例如对称加密算法,例如aes和rsan等。本领域技术人员知晓,按照设定的加密方法分别对n个子文件中的每个子文件进行加密,得到所述加密文件可采用现有方法实现。
23.在本发明实施例中,s100和s110可在加密装置例如pc机上进行。
24.s120,从所述加密文件中获取需要解密的子文件i,i的取值为1到n。
25.对于接收到的加密文件,播放设备中的处理器会按照子文件的排列顺序依次进行解密。
26.在本发明实施例中,播放设备可为例如pad等电子设备。播放设备可通过外接设备与加密装置连接。
27.s130,如果i=1,则按照设定的解密算法对子文件i进行解密,并在解密的同时播放子文件i;如果1<i≤n,执行s140;如果i>n,退出解密控制程序,执行s140。
28.如果i=1,说明是第一个子文件,解密的同时需要播放。
29.在本发明实施例中,设定的解密方法和设定的加密方法具有相同的密钥。本领域技术人员知晓,按照设定的解密方法对所述加密文件的第一个子文件进行解密可采用现有方式实现。
30.在本发明实施例中,由于第一个子文件的大小只有d,因此,其解密时间基本上秒级,能够实现实时播放文件。
31.如果1<i≤n,说明加密文件还没有解密完。如果i>n,说明加密文件已经解密完,则退出对加密文件的解密控制程序。
32.在本发明实施例中,相同字节流d大小的子文件的解密时间相同例如均为

t,对于最后一个子文件,可能字节流不等于d,最后一个子文件的解密时间可等于

t *d1/d,d1为最后一个子文件的大小。
33.s140,获取当前在播放设备中播放的子文件的位置数c,如果c=i-1,执行s150;如果c<i-1,执行s160;如果c=n,则在当前子文件播放后退出播放控制程序;c的取值为1到n。
34.子文件的位置数c是指在加密文件中的排序值。如果c=i-1,说明下一个播放的子文件是第i个子文件,如果c<i-1,说明下一个播放的子文件不是第i个子文件。如果c=n,说明播放的子文件是最后一个子文件,则在当前子文件播放后退出播放控制程序,即停止播
放加密文件。
35.s150,按照设定的解密算法对子文件i进行解密,并在当前子文件播放完后播放子文件i;执行s170。
36.s160,按照设定的解密算法对子文件i进行解密,并将解密后的子文件i存储至待播放区,以及在当前子文件播放完后播放第c+1个子文件;执行s170。
37.s170,设置i=i+1;执行s130。
38.本发明实施例提供的加密文件离线播放方法和系统,由于在对超大文件进行加密时,按照设定的字节流逐步进行加密,使得在离线播放时,能够边解密边播放,从而能够实时播放文件,提高用户体验。
39.在本发明另一实施例中,还包括以下步骤:s132,在当前播放的子文件的播放期间,如果检测到播放设备的播放器的进度条移动至大于当前播放进度的指定位置,则执行s134;s134,如果在待播放区存在与所述指定位置对应的目标子文件,则获取所述目标子文件并进行播放,否则,基于所述指定位置从所述加密文件中获取对应的目标子文件并进行解密播放。
40.s132和s134的技术效果在于,如果在播放过程中,用户想看后面的内容,则基于用户操作,播放对应的内容,以进一步提高用户体验。
41.显然,在目标子文件的播放期间,会执行s120,即继续获取需要解密的下一个子文件。
42.在本发明实施例中,所述播放设备的内存可小于等于所述原始文件的大小。这种情况下,由于播放设备的内存小于等于原始文件的大小,在离线播放过程中,通过边解密边播放的方法,能够防止播放设备的系统瘫痪,能够进一步提高用户体验。
43.当然,播放设备的内存也可以大于原始文件的大小,这种情况,在离线播放过程中,通过边解密边播放的方法,能够减少解密时间,能够提高用户体验。
44.本发明另一实施例提供一种加密文件离线播放系统,包括:加密装置和至少一个播放设备;所述加密装置和所述至少一个播放设备通过外接设备连接;所述加密装置和所述播放设备均不与外部网络连接;所述加密装置用于获取原始文件并进行加密后发送给所述播放设备进行播放,所述原始文件的大小大于等于设定阈值;所述加密装置用于获取原始文件并进行加密后发送给所述播放设备进行播放,所述原始文件的大小大于等于设定阈值;其中,所述加密装置按照如下方法对原始文件进行加密:基于原始文件的大小m和设定的字节流d将所述原始文件分成n=
⌈ m/d ⌉
个子文件;其中,d=v*

t,v为播放设备的解密速度,单位为字节/秒,v基于m、原始文件的播放时间t确定,

t为设定的解密时间,单位为秒;按照设定的加密方法分别对n个子文件进行加密,得到所述加密文件;所述播放设备用于按照如下方式对接收到的加密文件进行离线播放:s300,从所述加密文件中获取需要解密的子文件i,i的取值为1到n;s310,如果i=1,则按照设定的解密算法对子文件i进行解密,并在解密的同时播放
子文件i;如果1<i≤n,执行s320;如果i>n,退出解密控制程序,执行s320;s320,获取当前在播放设备中播放的子文件的位置数c,如果c=i-1,执行s330;如果c<i-1,执行s340;如果c=n,则在当前子文件播放后退出播放控制程序;c的取值为1到n;s330,按照设定的解密算法对子文件i进行解密,并在当前子文件播放完后播放子文件i;执行s350;s340,按照设定的解密算法对子文件i进行解密,并将解密后的子文件i存储至待播放区,以及在当前子文件播放完后播放第c+1个子文件;执行s350;s350,设置i=i+1;执行s310。
45.s300~s350的具体实施可与前述s100~s170相同,为避免赘述,省略对它们的详细介绍。
46.虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1