脚本加密方法、解密方法及引擎技术

技术编号:13107501 阅读:55 留言:0更新日期:2016-03-31 13:11
本发明专利技术提供一种脚本加密方法、解密方法及引擎。加密方法包括:获取待加密的原始脚本,原始脚本包括需要且可以被加密的第一数据;根据第一数据所属的数据类型和预先配置的基准数据与符号串的映射关系,获取第一数据对应的符号串,基准数据是指由原始脚本使用的脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据;将第一数据替换为第一数据对应的符号串,获得加密脚本。本发明专利技术技术方案利用符号串对脚本进行加密,可以使加密后的脚本看起来像乱码,不易于被破解,有利于提高脚本的安全性。

【技术实现步骤摘要】
【专利说明】
本专利技术涉及互联网
,尤其涉及一种脚本加密方法、解密方法及引擎。【
技术介绍
】浏览器的某些功能通常是由浏览器调用脚本文件实现的。例如,脚本文件可以用来采集用户数据或者执行一些算法逻辑。现有技术中,用户可以通过简单的工具查看到脚本文件的源代码,一旦破解源代码,就可以对源代码进行伪造,由此可见,现有脚本文件在安全性方面存在较大隐患。【
技术实现思路
】本专利技术的多个方面提供一种脚本加密方法、解密方法及引擎,用以提高脚本文件的安全性。本专利技术的一方面,提供一种脚本加密方法,包括:获取待加密的原始脚本,所述原始脚本包括需要且可以被加密的第一数据;根据所述第一数据所属的数据类型和预先配置的基准数据与符号串的映射关系,获取所述第一数据对应的符号串,所述基准数据是指由所述原始脚本使用的原始脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据;将所述第一数据替换为所述第一数据对应的符号串,获得加密脚本。本专利技术的另一方面,提供一种脚本解密方法,包括:获取待解密的加密脚本,所述加密脚本包括需要且可以被解密的第一符号串;根据所述第一符号串和预先配置的基准数据与符号串的映射关系,获取所述第一符号串对应的数据,所述基准数据是指由所述加密脚本对应的原始脚本使用的脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据;将所述第一符号串替换为所述第一符号串对应的数据,获得所述原始脚本。本专利技术的又一方面,提供一种脚本加密引擎,包括:第一获取模块,用于获取待加密的原始脚本,所述原始脚本包括需要且可以被加密的第一数据;第二获取模块,用于根据所述第一数据所属的数据类型和预先配置的基准数据与符号串的映射关系,获取所述第一数据对应的符号串,所述基准数据是指由所述原始脚本使用的原始脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据;替换模块,用于将所述第一数据替换为所述第一数据对应的符号串,获得加密脚本。本专利技术的又一方面,提供一种脚本解密引擎,包括:第一获取模块,用于获取待解密的加密脚本,所述加密脚本包括需要且可以被解密的第一符号串;第二获取模块,用于根据所述第一符号串和预先配置的基准数据与符号串的映射关系,获取所述第一符号串对应的数据,所述基准数据是指由所述加密脚本对应的原始脚本使用的脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据;替换模块,用于将所述第一符号串替换为所述第一符号串对应的数据,获得所述原始脚本。在本专利技术中,预先配置第一数据类型下可以直接映射到符号串的基准数据与符号串的映射关系,,根据待加密的原始脚本中数据所属的数据类型和预先配置的基准数据与符号串的映射关系,获取该数据对应的符号串,用该数据对应的符号串替换该数据,达到对脚本加密的目的。其中,符号串本身比较晦潘,因此利用符号串代表一定含义,一般无法直接从符号串中识别出该含义,而本专利技术利用符号串进行加密后的脚本直观看起来更像是一堆乱码,完全掩盖了脚本原本的意图和过程,极难被阅读理解并破解,因此提高了脚本的安全性。【【附图说明】】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的脚本加密方法的流程示意图;图2为本专利技术一实施例提供的步骤102的实施方法的流程示意图;图3为本专利技术一实施例提供的脚本解密方法的流程示意图;图4为本专利技术一实施例提供的步骤302的实施方法的流程示意图;图5为本专利技术一实施例提供的脚本加密引擎的结构示意图;图6为本专利技术另一实施例提供的脚本加密引擎的结构示意图;图7为本专利技术一实施例提供的脚本解密引擎的结构示意图;图8为本专利技术一实施例提供的脚本解密引擎的结构示意图。【【具体实施方式】】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术一实施例提供的脚本加密方法的流程示意图。如图1所示,该方法包括:101、获取待加密的原始脚本,该原始脚本包括需要且可以被加密的第一数据。102、根据上述第一数据所属的数据类型和预先配置的基准数据与符号串的映射关系,获取上述第一数据对应的符号串,基准数据是指由原始脚本使用的原始脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据。103、将上述第一数据替换为第一数据对应的符号串,获得加密脚本。首先说明,本实施例中待加密的原始脚本包括至少一个数据,这些数据可以是常量、变量、对象、运算符号以及关键字等。在这些数据中,有些数据是可以被加密的,有些数据是不需要或者不可以被加密的,例如对于运算符号和关键字可以不用加密。根据原始脚本所使用的脚本语言的不同,这些可以被加密或者不可以被加密的数据会有所不同。为便于描述和区分,本实施例将原始脚本中需要加密且可以被加密的数据称为第一数据,第一数据也是原始脚本中的数据,且第一数据可以是一个或多个。其中,在对原始脚本的加密过程中,对每个第一数据的处理过程都相同。本实施例中的符号串包括至少一个符号,所述符号可以是单位符号、数学符号、特殊符号以及标点符号等,例如可以是+、()、{}、[]、?、等等。其中,第一数据类型是指具有数据可以直接映射到符号串的数据类型,也就是说,该第一数据类型下一定有数据可以直接映射到符号串。为便于描述,本实施例将第一数据类型下可以直接映射到符号串的数据称为基准数据。值得说明的是,对于第一数据类型来说,可以是该数据类型下的所有数据都可以直接映射到符号串,也可以是该数据类型下的部分数据可以直接映射到符号串,这具体可由原始脚本所使用的脚本语言的弱类型特性决定。本实施例中的第一数据类型以及第一数据类型下可以直接映射到符号串的基准数据以及基准数据所映射到的符号串,可以通过对原始脚本采用的脚本语言的弱类型特性进行分析获得。根据脚本语言的不同,所分析出的第一数据类型、基准数据以及基准数据所映射到的符号串会有所不同。值得说明的是,本实施例方法优选适用于具有弱类型特性的脚本语言,例如javascript ο以具有弱类型特性的脚本语言为例,预先配置基准数据与符号串的映射关系的过程包括:根据待加密的原始脚本使用的脚本语言的弱类型特性,分析该脚本语言涉及的数据类型,确定第一数据类型,并确定第一数据类型下的基准数据以及基准数据对应的至少一个符号串;之后将第一数据类型下的基准数据和基准数据对应的至少一个符号串对应存储到符号映射表中。举例说明,以javascript为例,该语言涉及的数据类型包括:常量、全局变量类型和对象类型等。其中,常量类型又可以包括数字类型、布尔类型、NaN类型、未定义(undefined)类型、字符串类型等。通过对javascript的若类型特性进行分析,假设可以获得常量类型可以作为第一数据类型,即数字本文档来自技高网...

【技术保护点】
一种脚本加密方法,其特征在于,包括:获取待加密的原始脚本,所述原始脚本包括需要且可以被加密的第一数据;根据所述第一数据所属的数据类型和预先配置的基准数据与符号串的映射关系,获取所述第一数据对应的符号串,所述基准数据是指由所述原始脚本使用的脚本语言的弱类型特性所确定的第一数据类型下可以直接映射到符号串的数据;将所述第一数据替换为所述第一数据对应的符号串,获得加密脚本。

【技术特征摘要】

【专利技术属性】
技术研发人员:郝立鑫
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1