[發明專利]一種對代碼進行保密處理的方法及裝置在審
| 申請號: | 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.szxzyx.cn/pat/books/201410856916.7/2.html,轉載請聲明來源鉆瓜專利網。





