[发明专利]一种对代码进行保密处理的方法及装置在审
申请号: | 201410856916.7 | 申请日: | 2014-12-31 |
公开(公告)号: | CN104504313A | 公开(公告)日: | 2015-04-08 |
发明(设计)人: | 鄢丙荣;夏贤卯;孙啸 | 申请(专利权)人: | 北京畅游天下网络技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 进行 保密 处理 方法 装置 | ||
技术领域
本发明涉及代码安全技术领域,尤其涉及一种对代码进行保密处理的方法及装置。
背景技术
随着大量HTML5应用的出现,Javascript在网页(Web)应用上的重要性越来越高,Javascript(js)代码的复杂性、功能和技术含量也越来越高,对Javascript代码保护的需要也越来越迫切。但是由于javascript代码是以明文执行的,因此现有技术并不能对js文件进行充分的版权保护。
发明内容
有鉴于此,本发明提供一种对代码进行保密处理的方法及装置,进一步加大破解和理解js代码的难度。
根据本发明实施例的第一方面,提供一种对代码进行保密处理的方法,包括:
将js文件的代码中的变量名根据所述js文件的作用域进行散列运算,得到所述js文件的散列结果;
将所述散列结果中的函数进行打包加密,得到打包加密后的字符串。
根据本发明实施例的第二方面,提供一种对代码进行保密处理的装置,包括:
散列运算模块,用于将js文件的代码中的变量名根据所述js文件的作用域进行散列运算,得到所述js文件的散列结果;
打包加密模块,用于将所述散列运算模块计算得到的所述散列结果中的函数进行打包加密,得到打包加密后的字符串。
由以上技术方案可见,本发明通过将js文件的变量名进行散列运算,从而达到对js文件的代码进行混淆的目的,通过对混淆后的散列结果进行打包加密,降低了js文件的代码的可读性,加大了盗版者对js文件进行破解和理解的难度,进一步实现了对js文件的版权保护。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。
附图说明
图1是本发明一种实施方式中对代码进行保密处理的方法的流程图;
图2是本发明另一种实施方式中对代码进行保密处理的方法的流程图;
图3是本发明一种实施方式中服务器的结构图;
图4是本发明一种实施方式中对代码进行保密处理的装置的逻辑结构图;
图5是本发明另一种实施方式中对代码进行保密处理的装置的逻辑结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请通过将js文件的变量名进行散列运算,从而达到对js文件的代码进行混淆的目的,通过对混淆后的散列结果进行打包加密,降低了js文件的代码的可读性,加大了盗版者对js文件进行破解和理解的难度,从而实现了对js文件的版权保护。为对本申请进行进一步说明,提供下列实施例:
请参考图1,图1是本发明一种实施方式中对代码进行保密处理的方法的流程图,可以应用于服务器上,包括如下步骤:
步骤101,将js文件的代码中的变量名根据js文件的作用域进行散列运算,得到js文件的散列结果。
步骤102,将散列结果中的函数进行打包加密,得到打包加密后的字符串。
在步骤101中,js文件的作用域以函数为界,不同的函数拥有相对独立的作用域。函数内部可以声明和访问全局变量,也可以声明局部变量(使用var关键字,函数的参数也是局部变量),但函数外部无法访问内部的局部变量。为了更清楚的理解本发明实施例中如何通过js文件的作用域对代码进行散列的,以下述代码进行示例性说明:
(function(){}
var car=hello;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京畅游天下网络技术有限公司,未经北京畅游天下网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410856916.7/2.html,转载请声明来源钻瓜专利网。