本发明涉及通信技术领域,具体涉及一种资源包加密方法、资源包解密方法及装置。
背景技术:
万维网(WWW)是因特网上比较流行的信息服务之一,而HTML5是标准通用标记语言下的一个应用超文本标记语言的第五次重大修改,属于万维网的核心语言。HTML5的设计目的是为了在移动设备上支持多媒体,使得用户能够在移动设备上基于HTML5从位于远程计算机或内容服务器上下载和播放多媒体资源(例如文本、音频、视频、图形、动画、静止图像等)。
目前针对基于Html5下载的资源包的加密方案,是采用对资源包增加口令的密码机制,即当用户使用资源包时,需要先输入预先设置的口令方可使用该资源包。然而,由于口令的格式相对单一(通常是字母、数字或字母与数字的组合),这使得他人可以通过暴力破解的方式获得资源包的口令,使得该资源包的加密形同虚设。可见,上述对资源包增加口令的密码机制安全性较低。
技术实现要素:
本发明提供一种资源包加密方法、资源包解密方法及装置,用于提高资源包的安全性。
本发明一方面提供一种资源包加密方法,包括:
获取待加密的资源包;
遍历上述待加密的资源包中的多媒体文件,根据预设的加密算法对上述资源包中的多媒体文件进行加密,得到加密后的资源包;
存储上述加密后的资源包。
基于上述第一方面,在第一种可能的实现方式中,上述预设的加密算法具体为私有字节加密算法;
上述根据预设的加密算法对上述资源包中的多媒体文件进行加密,包括:
调用mmap函数建立上述资源包中的多媒体文件的内存映射;
根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改;
解除上述多媒体文件的内存映射。
基于上述第一方面的第一种可能的实现方式,在第二种可能的实现方式中,上述根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改,包括:对上述多媒体文件的字节数据进行高低位翻转。
本发明第二方面提供一种资源包解密方法,包括:
获取待解密的资源包,其中,上述待解密的资源包中的多媒体文件采用预设的加密算法加密而成;
遍历上述待解密的资源包中的多媒体文件,根据预设的解密算法对上述资源包中的多媒体文件进行解密,得到解密后的资源包;
输出上述解密后的资源包。
基于本发明第二方面,在第一种可能的实现方式中,上述输出上述解密后的资源包,之后包括:
当上述解密后的资源包被结束调用后,遍历上述解密后的资源包中的多媒体文件,根据上述加密算法对上述解密后的资源包中的多媒体文件进行加密。
本发明第三方面提供一种资源包加密装置,包括:
获取单元,用于获取待加密的资源包;
加密单元,用于遍历上述获取单元获取到的待加密的资源包中的多媒体文件,根据预设的加密算法对上述资源包中的多媒体文件进行加密,得到加密后的资源包;
存储单元,用于存储经上述加密单元加密后的资源包。
基于本发明第三方面,在第一种可能的实现方式中,上述预设的加密算法具体为私有字节加密算法;
上述加密单元包括:
内存映射单元,用于调用mmap函数建立上述资源包中的多媒体文件的内存映射;
数据还原单元,用于根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改;
内存映射解除单元,用于解除上述多媒体文件的内存映射。
基于本发明第三方面的第一种可能的实现方式,在第二种可能的实现方式中,上述数据还原单元具体用于:对上述多媒体文件的字节数据进行高低位翻转。
本发明第四方面提供一种资源包解密装置,包括:获取单元,用于获取待解密的资源包,其中,上述待解密的资源包中的多媒体文件采用预设的加密算法加密而成;
解密单元,用于遍历上述待解密的资源包中的多媒体文件,根据预设的解密算法对上述资源包中的多媒体文件进行解密,得到解密后的资源包;
输出单元,用于输出经上述解密单元解密后的资源包。
基于本发明第四方面,在第一种可能的实现方式,上述预设的加密算法具体为私有字节加密算法,上述预设的解密算法具体为私有字节解密算法;
上述解密单元包括:
内存映射单元,用于调用mmap函数建立上述资源包中的多媒体文件的内存映射;
数据还原单元,用于根据预设的私有字节解密算法对上述多媒体文件的字节数据进行还原;
内存映射解除单元,用于解除上述多媒体文件的内存映射。
由上可见,本发明中通过遍历资源包中的多媒体文件并对该资源包中的多媒体文件进行加解密。一方面,由于资源包中的多媒体文件根据特定的加密算法加密,因此,在不知晓该多媒体文件所使用的加密算法的情况下,将难以通过暴力破解的方式查看到该资源包中的多媒体文件,提高了资源包的安全性;另一方面,由于只对资源包中的多媒体文件进行加解密,因此,能够有效提高对资源包的加解密效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种资源包加密方法一个实施例流程示意图;
图2为本发明提供的一种资源包解密方法一个实施例流程示意图;
图3为本发明提供的一种资源包加密装置一个实施例结构示意图;
图4为本发明提供的一种资源包解密装置一个实施例结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供一种资源包加密方法,请参阅图1,本发明实施例中的资源包加密方法,包括:
101、获取待加密的资源包;
本发明实施例中,可以基于用户的选择获取待加密的资源包,例如,用户从已下载且未加密的资源包中选择需要加密的资源包,在步骤101中,根据用户的选择获取待加密的资源包。或者,也可以在资源包下载完成(例如基于Html5完成资源包的下载)之后,自动获取该资源包作为上述待加密的资源包(即触发步骤101的执行)。当然,本发明实施例也可以采用其它方式获取待加密的资源包,此处不作限定。
102、遍历上述待加密的资源包中的多媒体文件,根据预设的加密算法对上述资源包中的多媒体文件进行加密,得到加密后的资源包;
本发明实施例中,遍历步骤101获取的待加密的资源包中的多媒体文件,并根据预设的加密算法对上述资源包中的多媒体文件进行加密,得到加密后的资源包。具体地,可以根据各种多媒体文件(例如文本、音频、视频、图形、动画、静止图像等文件)的常用后缀名区分出资源包中的多媒体文件和非多媒体文件,进而根据预设的加密算法对上述资源包中的多媒体文件进行加密,得到加密后的资源包。
可选的,上述预设的加密算法具体为私有字节加密算法。上述根据预设的加密算法对上述资源包中的多媒体文件进行加密,包括:调用mmap函数建立上述待加密的资源包中的多媒体文件的内存映射;根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改;解除上述多媒体文件的内存映射。具体地,上述根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改可以包括:对上述多媒体文件的字节数据进行高低位翻转。当然,上述根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改也可以是其它方式,例如:将上述多媒体文件高位的预设长度的字节数据修改为预设的字节数据,和/或,将上述多媒体文件低位的预设长度的字节数据修改为预设的字节数据。上述解除上述多媒体文件的内存映射具体可以为:通过munmap函数解除上述多媒体文件的内存映射。
103、存储上述加密后的资源包;
存储步骤102加密后的资源包,以便后续用户可以通过特定的应用程序使用该资源包。
需要说明的是,本发明实施例中的资源包加密方法可以由资源包加密装置实现,该资源包加密装置可以以软件或硬件或软硬件结合的方式集成在终端(例如个人计算机、手机、平板电脑、学习机等)中。
由上可见,本发明中通过遍历资源包中的多媒体文件并对该资源包中的多媒体文件进行加密。一方面,由于资源包中的多媒体文件根据特定的加密算法加密,因此,在不知晓该多媒体文件所使用的加密算法的情况下,将难以通过暴力破解的方式查看到该资源包中的多媒体文件,提高了资源包的安全性;另一方面,由于只对资源包中的多媒体文件进行加密,因此,能够有效提高对资源包的加密效率。
实施例二
本发明实施例提供一种资源包解密方法,请参阅图2,本发明实施例中的资源包解密方法,包括:
201、获取待解密的资源包;
其中,上述待解密的资源包中的多媒体文件采用预设的加密算法加密而成。具体的,上述资源包的加密方式可以参照图1所示实施例中的资源包加密方式实现,此处不再赘述。
本发明实施例中,可以基于用户的选择获取待加密的资源包,例如,用户从已下载且未加密的资源包中选择需要加密的资源包,在步骤101中,根据用户的选择获取待加密的资源包。或者,也可以在用户通过特定的应用程序打开该资源包时,自动获取当前通过上述应用程序打开的资源包作为上述待加密的资源包(即触发步骤201的执行)。当然,本发明实施例也可以采用其它方式获取待解密的资源包,此处不作限定。
202、遍历上述待解密的资源包中的多媒体文件,根据预设的解密算法对上述资源包中的多媒体文件进行解密,得到解密后的资源包;
本发明实施例中,上述解密算法为与步骤201提及的加密算法相对应的算法。在步骤202中,可以根据各种多媒体文件(例如文本、音频、视频、图形、动画、静止图像等文件)的常用后缀名区分出资源包中的多媒体文件和非多媒体文件,进而根据预设的解密算法对上述资源包中的多媒体文件进行解密,得到解密后的资源包。
可选的,上述预设的加密算法具体为私有字节加密算法,上述预设的解密算法具体为私有字节解密算法。上述根据预设的解密算法对上述资源包中的多媒体文件进行解密,包括:调用mmap函数建立上述待解密的资源包中的多媒体文件的内存映射;根据预设的私有字节解密算法对上述多媒体文件的字节数据进行还原;解除上述多媒体文件的内存映射。举例说明,上述待解密的资源包中的多媒体文件是通过对上述多媒体文件的字节数据进行高低位翻转的方式加密而成,则上述根据预设的私有字节解密算法对上述多媒体文件的字节数据进行还原相应为:对上述多媒体文件的字节数据进行高低位翻转。当然,上述待解密的资源包中的多媒体文件也可以采用其它方式加密而成,例如:上述待解密的资源包中的多媒体文件也通过将上述多媒体文件高位的预设长度的字节数据修改为预设的字节数据和/或将上述多媒体文件低位的预设长度的字节数据修改为预设的字节数据的方式加密而成,则在步骤202中,将采用相对应的私有字节解密算法对上述多媒体文件的字节数据进行还原。上述解除上述多媒体文件的内存映射具体可以为:通过munmap函数解除上述多媒体文件的内存映射。
203、输出上述解密后的资源包;
在步骤203中,输出步骤202解密后的资源包,以便调用该资源包(例如查看/播放该资源包中的多媒体文件)。
为了进一步提高资源包的安全性,在步骤203之后,当步骤202解密后的资源包被结束调用后,还可以遍历上述解密后的资源包中的多媒体文件,根据上述加密算法对上述解密后的资源包中的多媒体文件进行加密。其中,根据上述加密算法对上述解密后的资源包中的多媒体文件进行加密可以参照图1所示实施例中步骤102的描述,此处不再赘述。
需要说明的是,本发明实施例中的资源包解密方法可以由资源包解密装置实现,该资源包解密装置可以以软件或硬件或软硬件结合的方式集成在终端(例如个人计算机、手机、平板电脑、学习机等)中。
由上可见,本发明中通过遍历资源包中的多媒体文件并对该资源包中的多媒体文件进行解密。一方面,由于资源包中的多媒体文件根据特定的加密算法加密,因此,在不知晓该多媒体文件所使用的加密算法的情况下,将难以通过暴力破解的方式查看到该资源包中的多媒体文件,提高了资源包的安全性;另一方面,由于只对资源包中的多媒体文件进行解密,因此,能够有效提高对资源包的解密效率。
实施例三
本发明实施例提供一种资源包加密装置。请参阅图3,本发明实施例中的资源包加密装置300,包括:
获取单元301,用于获取待加密的资源包;
加密单元302,用于遍历获取单元301获取到的待加密的资源包中的多媒体文件,根据预设的加密算法对上述资源包中的多媒体文件进行加密,得到加密后的资源包;
存储单元303,用于存储经加密单元302加密后的资源包。
可选的,上述预设的加密算法具体为私有字节加密算法。加密单元302包括:内存映射单元,用于调用mmap函数建立上述资源包中的多媒体文件的内存映射;数据还原单元,用于根据预设的私有字节加密算法对上述多媒体文件的字节数据进行修改;内存映射解除单元,用于解除上述多媒体文件的内存映射。
可选的,上述数据还原单元具体用于:对上述多媒体文件的字节数据进行高低位翻转。
需要说明的是,本发明实施例中的资源包加密装置可以以软件或硬件或软硬件结合的方式集成在终端(例如个人计算机、手机、平板电脑、学习机等)中。
应理解,本发明实施例中的资源包加密装置的各个功能模块的功能可以根据上述实施例一中的资源包加密方法具体实现,其具体实现过程可参照上述实施例一中的资源包加密方法中的相关描述,此处不再赘述。
由上可见,本发明中的资源包加密装置通过遍历资源包中的多媒体文件并对该资源包中的多媒体文件进行加密。一方面,由于资源包中的多媒体文件根据特定的加密算法加密,因此,在不知晓该多媒体文件所使用的加密算法的情况下,将难以通过暴力破解的方式查看到该资源包中的多媒体文件,提高了资源包的安全性;另一方面,由于只对资源包中的多媒体文件进行加密,因此,能够有效提高对资源包的加密效率。
实施例四
本发明实施例提供一种资源包解密装置。请参阅图4,本发明实施例中的资源包解密装置400,包括:
获取单元401,用于获取待解密的资源包,其中,上述待解密的资源包中的多媒体文件采用预设的加密算法加密而成;
解密单元402,用于遍历上述待解密的资源包中的多媒体文件,根据预设的解密算法对上述资源包中的多媒体文件进行解密,得到解密后的资源包;
输出单元403,用于输出经解密单元402解密后的资源包。
可选的,上述预设的加密算法具体为私有字节加密算法,上述预设的解密算法具体为私有字节解密算法。解密单元402包括:内存映射单元,用于调用mmap函数建立上述资源包中的多媒体文件的内存映射;数据还原单元,用于根据预设的私有字节解密算法对上述多媒体文件的字节数据进行还原;内存映射解除单元,用于解除上述多媒体文件的内存映射。
需要说明的是,本发明实施例中的资源包解密装置可以以软件或硬件或软硬件结合的方式集成在终端(例如个人计算机、手机、平板电脑、学习机等)中。
应理解,本发明实施例中的资源包解密装置的各个功能模块的功能可以根据上述实施例二中的资源包解密方法具体实现,其具体实现过程可参照上述实施例二中的资源包解密方法中的相关描述,此处不再赘述。
由上可见,本发明中的资源包解密装置通过遍历资源包中的多媒体文件并对该资源包中的多媒体文件进行解密。一方面,由于资源包中的多媒体文件根据特定的加密算法加密,因此,在不知晓该多媒体文件所使用的加密算法的情况下,将难以通过暴力破解的方式查看到该资源包中的多媒体文件,提高了资源包的安全性;另一方面,由于只对资源包中的多媒体文件进行解密,因此,能够有效提高对资源包的解密效率。
需要说明的是,在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种资源包加密方法、资源包解密方法及装置的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。