日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

客戶端腳本的加密處理方法及裝置和解密處理方法及裝置的制作方法

文檔序號:6402684閱讀:144來源:國知局
專利名稱:客戶端腳本的加密處理方法及裝置和解密處理方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及移動終端的安全保護(hù)技術(shù)領(lǐng)域,尤其涉及客戶端腳本的加密處理方法及裝置和解密處理方法及裝置。
背景技術(shù)
隨著互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,網(wǎng)頁客戶端中的內(nèi)容變得越來越豐富,網(wǎng)頁中的可執(zhí)行腳本(通常為Javascript)數(shù)量增長迅猛。與此同時(shí)大量的網(wǎng)頁腳本帶來了諸多的安全漏洞問題,網(wǎng)絡(luò)黑客通??梢酝ㄟ^查看一個(gè)網(wǎng)頁的可執(zhí)行腳本(客戶端腳本的執(zhí)行前提是必須下載到用戶瀏覽器中,所以通常這部分代碼是直接暴露給用戶的)的源碼,分析網(wǎng)頁漏洞,這為網(wǎng)站的安全問題帶來嚴(yán)峻的挑戰(zhàn)。客戶端腳本的加密技術(shù),雖然不能從根本上解決安全漏洞問題,但是可以大大提高攻擊門檻,同時(shí)也避免了一些人對于代碼的二次利用(尤其是一些非法商業(yè)用途,例如搭建釣魚網(wǎng)站等)的行為。目前的一種客戶端腳本加密技術(shù)為yuicompressor (雅虎UI框架壓縮器)等腳本壓縮技術(shù)。此類技術(shù)的原理是,在客戶端腳本發(fā)布之前,使用一種服務(wù)器語言(例如可以是Java)壓縮該腳本文件。首先將客戶端可執(zhí)行腳本文件讀入為一個(gè)字符串,然后去掉其中的代碼注釋、換行、空格、制表符等;同時(shí)對代碼中的變量名做混淆,將變量替換成無意義的字符串,然后將壓縮后的字符串回寫到原文件中。使用腳本壓縮技術(shù),不能實(shí)現(xiàn)對腳本代碼的完全隱藏,壓縮后的腳本依然可以在客戶端被直接查看,并且有很多相應(yīng)的解壓代碼方案。目前的另一種客戶端腳本加密技術(shù)為腳本混淆技術(shù)。常見的腳本混淆工具有Google closure。腳本混淆可以完全打破原有代碼的組織結(jié)構(gòu),讓代碼變得完全不可讀。其基本原理同上述腳本壓縮技術(shù),但是在讀入腳本文件時(shí)會分析文件的代碼結(jié)構(gòu),對代碼本身進(jìn)行重新編碼。使用腳本混淆技術(shù),要求腳本代碼的開發(fā)人員嚴(yán)格遵循代碼的語法規(guī)范(客戶端腳本通常語法非常靈活,例如代碼結(jié)束時(shí)可以不寫分號,if語句后面可以不使用大括號等),這就對開 發(fā)的代碼本身的質(zhì)量提出一個(gè)嚴(yán)格的挑戰(zhàn)??梢姡壳暗目蛻舳四_本加密技術(shù)存在易被解密、代碼保護(hù)不完善、開發(fā)難度高的問題。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供客戶端腳本的加密處理方法及裝置和解密處理方法及裝置,用以解決目前的客戶端腳本加密技術(shù)存在易被解密、代碼保護(hù)不完善、開發(fā)難度高的問題。本發(fā)明實(shí)施例提供了一種客戶端腳本的加密處理方法,包括:按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同;根據(jù)所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的紅綠藍(lán)Alpha通道RGBA分量的對應(yīng)關(guān)系,將所述每個(gè)字符對應(yīng)的數(shù)字作為所述圖片中對應(yīng)像素的對應(yīng)分量值,生成一圖片。其中,優(yōu)選地,所述數(shù)字為信息交換碼;所述按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,包括:利用服務(wù)器語言的信息交換碼轉(zhuǎn)換函數(shù),將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的信息交換碼。其中,優(yōu)選地,所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,可包括:所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng)。其中,優(yōu)選地,當(dāng)所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量時(shí),所述圖片的Alpha通道值為O。其中,優(yōu)選地,所述生成一圖片之后,所述處理方法還包括:將所述圖片發(fā)送給客戶端。本發(fā)明實(shí)施例提供了一種客戶端腳本的解密處理方法,包括:獲取圖片中 像素的RGBA分量值;根據(jù)客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字與所述圖片中像素的RGBA分量的對應(yīng)關(guān)系,確定所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字;按照數(shù)字與字符的對應(yīng)規(guī)則,將所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同;依序拼接所述轉(zhuǎn)換而成的字符,形成客戶端可執(zhí)行的客戶端腳本。其中,優(yōu)選地,所述數(shù)字為信息交換碼;所述按照數(shù)字與字符的對應(yīng)規(guī)則,將所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,包括:利用客戶端腳本的信息交換碼轉(zhuǎn)換函數(shù),將所述客戶端腳本中每個(gè)字符各自對應(yīng)的信息交換碼轉(zhuǎn)換為對應(yīng)的字符。其中,優(yōu)選地,所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,包括:所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng)。其中,優(yōu)選地,所述獲取圖片中像素的RGBA分量值之前,所述處理方法還包括:
接收服務(wù)器發(fā)送的所述圖片。本發(fā)明實(shí)施例提供了一種客戶端腳本的加密處理裝置,其特征在于,包括:轉(zhuǎn)換模塊,用于按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,其中,每個(gè)字符各自對應(yīng)的數(shù)字為[O,255]范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同;生成模塊,用于根據(jù)所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,將所述每個(gè)字符對應(yīng)的數(shù)字作為所述圖片中對應(yīng)像素的對應(yīng)分量值,生成一圖片。其中,優(yōu)選地,所述轉(zhuǎn)換模塊可包括:轉(zhuǎn)換子模塊,用于利用服務(wù)器語言的信息交換碼轉(zhuǎn)換函數(shù),將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的信息交換碼。其中,優(yōu)選地,所述處理裝置還可包括:存儲模塊,用于存儲所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,包括:所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng);和/或發(fā)送?!K,用于在所述生成模塊生成所述圖片之后,將所述圖片發(fā)送給客戶端。本發(fā)明實(shí)施例提供了一種客戶端腳本的解密處理裝置,包括:獲取模塊,用于獲取·圖片中像素的RGBA分量值;確定模塊,用于根據(jù)客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字與所述圖片中像素的RGBA分量的對應(yīng)關(guān)系,確定所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字;轉(zhuǎn)換模塊,用于按照數(shù)字與字符的對應(yīng)規(guī)則,將所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同;拼接模塊,用于依序拼接所述轉(zhuǎn)換而成的字符,形成客戶端可執(zhí)行的客戶端腳本。其中,優(yōu)選地,所述轉(zhuǎn)換模塊可包括:轉(zhuǎn)換子模塊,用于利用客戶端腳本的信息交換碼轉(zhuǎn)換函數(shù),將所述客戶端腳本中每個(gè)字符各自對應(yīng)的信息交換碼轉(zhuǎn)換為對應(yīng)的字符。其中,優(yōu)選地,所述處理裝置還可包括:存儲模塊,用于存儲所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGB分量的對應(yīng)關(guān)系,包括:所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng);和/或接收模塊,用于在所述獲取模塊獲取圖片中像素的RGBA分量值之前,接收服務(wù)器發(fā)送的所述圖片。本發(fā)明實(shí)施例提供的技術(shù)方案,由于客戶端腳本被壓縮進(jìn)了圖片,因此客戶端腳本不能通過一般的手段被查看(例如瀏覽器自帶的代碼查看工具等),提高了客戶端腳本的安全性,保護(hù)更完善;并且,對代碼開發(fā)人員的要求較低,不需像目前的腳本混淆技術(shù)那樣要求代碼開發(fā)人員嚴(yán)格遵循代碼的語法規(guī)范,開發(fā)難度較低。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。


附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:圖1為本發(fā)明實(shí)施例中一種客戶端腳本的加密處理方法的流程圖;圖2為本發(fā)明實(shí)施例中一種客戶端腳本的解密處理方法的流程圖;圖3為本發(fā)明一具體實(shí)施例的方法流程圖;圖4為本發(fā)明實(shí)施例中一種客戶端腳本的加密處理裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例中另一種客戶端腳本的加密處理裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例中一種客戶端腳本的解密處理裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例中另一種客戶端腳本的解密處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例提供了客戶端腳本的加密處理方法和裝置及解密處理方法和裝置。該技術(shù)方案中,當(dāng)客戶端腳本被發(fā)布之前,客戶端腳本內(nèi)容被壓縮進(jìn)一張圖片;當(dāng)客戶端請求一個(gè)網(wǎng)頁需要執(zhí)行客戶端腳本時(shí),首先服務(wù)器將圖片加載到客戶端,然后客戶端從圖片中獲取客戶端腳本的每個(gè)字符,將每個(gè)字符拼接成客戶端腳本,在客戶端中運(yùn)行。本發(fā)明實(shí)施例提供的技術(shù)方案,由于客戶端腳本被壓縮進(jìn)了圖片,因此客戶端腳本不能通過一般的手段被查看(例如瀏覽器自帶的代碼查看工具等),提高了客戶端腳本的安全性,保護(hù)更完善;并且,對代碼開發(fā)人員的要求較低,不需像目前的腳本混淆技術(shù)那樣要求代碼開發(fā)人員嚴(yán)格遵循代碼的語法規(guī)范,開發(fā)難度較低。其中,客戶端腳本的每個(gè)字符信息被壓縮進(jìn)成一張圖片的原理如下所述:圖片中的每一個(gè)像素由四個(gè)分量值來表示:紅、綠、藍(lán)和Alpha通道(縮寫為RGBA)。它們的值是
范圍內(nèi)的整數(shù)。而客戶端腳本是由一個(gè)個(gè)的字符組成。如果將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為
范圍內(nèi)的整數(shù),且保證每個(gè)字符各自對應(yīng)的數(shù)字不相同,那么可以將每個(gè)字符各自對應(yīng)的數(shù)字作為圖片中像素的分量值,構(gòu)建出一圖片來。下面詳細(xì)介紹本發(fā)明實(shí)施例提供的技術(shù)方案。如圖1所示,本發(fā)明實(shí)施例提供了一種客戶端腳本的加密處理方法,包括以下步驟:S11、按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同。優(yōu)選地,上述數(shù)字可以為ASCII 碼(American Standard Code for InformationInterchange,美國標(biāo)準(zhǔn)信息交換代碼,簡稱信息交換碼);
此時(shí),按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,可包括:利用服務(wù)器語言的ASCII碼轉(zhuǎn)換函數(shù),將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的ASCII碼。當(dāng)然,除了上述ASCII碼,還可以是程序員自己規(guī)定數(shù)字與字符的對應(yīng)規(guī)則,只要該種對應(yīng)規(guī)則能保證每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同即可。按照該種對應(yīng)規(guī)則將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,后續(xù)利用該數(shù)字構(gòu)建圖片。S12、根據(jù)客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,將每個(gè)字符對應(yīng)的數(shù)字作為圖片中對應(yīng)像素的對應(yīng)分量值,生成一圖片。優(yōu)選地,客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,可包括:客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)圖片中對應(yīng)像素的R分量、G分量、B分量。即每三個(gè)連續(xù)的字符各自對應(yīng)的數(shù)字,都對應(yīng)同一個(gè)像素,且這三個(gè)連續(xù)的字符各自對應(yīng)的數(shù)字中,第一個(gè)字符對應(yīng)的數(shù)字與該像素的R分量對應(yīng),第二個(gè)字符對應(yīng)的數(shù)字與該像素的G分量對應(yīng),第三個(gè)字符對應(yīng)的數(shù)字與該像素的B分量對應(yīng);依此,客戶端腳本的所有字符各自對應(yīng)的數(shù)字都被壓縮進(jìn)了一張圖片中?;蛘撸鲜鰧?yīng)關(guān)系可包括:客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng)。即客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別對應(yīng)一個(gè)像素中的一個(gè)分量;比如字符“A”對應(yīng)像素A’的R分量;字符“B”對應(yīng)像素B’的R分量。其中,使用Alpha通道的前提是服務(wù)器在存儲圖片時(shí)必須把圖片存儲為可以攜帶Alpha通道信息的圖片格式,例如PNG。當(dāng)然,除了以上兩種對應(yīng)關(guān)系,還可以是其他形式的對應(yīng)關(guān)系,并不受本發(fā)明限制。
`
按照上述對應(yīng)關(guān)系,將每個(gè)字符對應(yīng)的數(shù)字作為圖片中對應(yīng)像素的對應(yīng)分量值,利用繪圖程序生成一圖片,該圖片中包含了客戶端腳本的字符信息。優(yōu)選地,當(dāng)所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量時(shí),圖片的Alpha通道值為0,這樣便可保證繪圖程序繪制圖片時(shí)取到的顏色值是正確的。執(zhí)行完步驟S12之后,上述加密處理方法還可以包括:將圖片發(fā)送給客戶端。進(jìn)一步,優(yōu)選地,將圖片發(fā)送給客戶端之前,上述加密處理方法還可以包括:接收到客戶端發(fā)送來的網(wǎng)頁請求,請求上述客戶端腳本。至此,完成了客戶端腳本的加密處理流程。如圖2所示,對應(yīng)上述客戶端腳本的加密處理方法,本發(fā)明實(shí)施例還提供了一種客戶端腳本的解密處理方法,包括以下步驟:S21、獲取圖片中像素的RGBA分量值。該圖片是經(jīng)過上述步驟S12處理而生成的圖片,該圖片包含了客戶端腳本的字符信息。優(yōu)選地,執(zhí)行步驟S21之前,所述解密處理方法還可以包括:接收服務(wù)器發(fā)送的圖片。
進(jìn)一步,優(yōu)選地,接收服務(wù)器發(fā)送的圖片之前,上述加密處理方法還可包括:向服務(wù)器發(fā)送網(wǎng)頁請求。S22、根據(jù)客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,確定客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字。優(yōu)選地,客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,可包括:客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)圖片中對應(yīng)像素的R分量、G分量、B分量。即每三個(gè)連續(xù)的字符各自對應(yīng)的數(shù)字,都對應(yīng)同一個(gè)像素,且這三個(gè)連續(xù)的字符各自對應(yīng)的數(shù)字中,第一個(gè)字符對應(yīng)的數(shù)字與該像素的R分量對應(yīng),第二個(gè)字符對應(yīng)的數(shù)字與該像素的G分量對應(yīng),第三個(gè)字符對應(yīng)的數(shù)字與該像素的B分量對應(yīng);依此,客戶端腳本的所有字符各自對應(yīng)的數(shù)字都被壓縮進(jìn)了一張圖片中?;蛘撸鲜鰧?yīng)關(guān)系可包括:客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng)。即客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別對應(yīng)一個(gè)像素中的一個(gè)分量;比如字符“A”對應(yīng)像素A’的R分量;字符“B”對應(yīng)像素B’的R分量。當(dāng)然,除了 以上兩種對應(yīng)關(guān)系,還可以是其他形式的對應(yīng)關(guān)系,并不受本發(fā)明限制。 步驟S22中采用的對應(yīng)關(guān)系,與前述步驟S12中采用的對應(yīng)關(guān)系要一致,這樣才能保證步驟S22確定出來的數(shù)字是正確的,保證后續(xù)步驟S25拼接出來的客戶端腳本是正確的。S23、按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同。步驟S23中采用的對應(yīng)規(guī)則,與前述步驟Sll中采用的對應(yīng)規(guī)則要一致,這樣才能保證步驟S23確定出來的數(shù)字是正確的,保證后續(xù)步驟S24拼接出來的客戶端腳本是正確的。相應(yīng)地,前述步驟Sll中的數(shù)字如果為ASCII碼;步驟Sll采用的是服務(wù)器語言的ASCII碼轉(zhuǎn)換函數(shù),那么在步驟S23中,按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,可包括:利用客戶端腳本的ASCII碼轉(zhuǎn)換函數(shù),將客戶端腳本中每個(gè)字符各自對應(yīng)的ASCII碼轉(zhuǎn)換為對應(yīng)的字符。也就是說,步驟Sll與步驟S23中的轉(zhuǎn)換函數(shù)優(yōu)選為對應(yīng)匹配的轉(zhuǎn)換函數(shù),這樣才能保證S23確定出來的數(shù)字是正確的,才能保證后續(xù)步驟S24拼接出來的客戶端腳本是正確的。上述對應(yīng)關(guān)系、對應(yīng)規(guī)則、數(shù)字轉(zhuǎn)換函數(shù),可以由服務(wù)器和客戶端預(yù)先協(xié)商好,保持匹配,這樣才能保證后續(xù)步驟S25拼接出來的客戶端腳本是正確的。S24、依序拼接轉(zhuǎn)換而成的字符,形成客戶端可執(zhí)行的客戶端腳本。至此,完成了客戶端腳本的解密處理流程。需要說明的是,本發(fā)明實(shí)施例提供的上述客戶端腳本的加密處理方法和解密處理方法的執(zhí)行主體可以是服務(wù)器,也可以是客戶端,還可以是其它設(shè)備,本發(fā)明實(shí)施例對執(zhí)行主體并不限制。本發(fā)明實(shí)施例提供的上述客戶端腳本的加密處理方法和解密處理方法,將客戶端腳本壓縮進(jìn)一圖片,使得客戶端腳本不能通過一般的手段被查看(例如瀏覽器自帶的代碼查看工具等),提高了客戶端腳本的安全性,保護(hù)更完善;并且,對代碼開發(fā)人員的要求較低,不需像目前的腳本混淆技術(shù)那樣要求代碼開發(fā)人員嚴(yán)格遵循代碼的語法規(guī)范,開發(fā)難度較低。下面以一具體實(shí)施例來說明本發(fā)明實(shí)施例提供的技術(shù)方案。本具體實(shí)施例的技術(shù)方案,適用于各個(gè)移動或者非移動平臺下(包括ios,android, mac, pc等)支持Canvas繪圖技術(shù)的瀏覽器。服務(wù)器和客戶端預(yù)先協(xié)商一致,將上述對應(yīng)關(guān)系規(guī)定為:客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的ASCII碼,依序?qū)?yīng)圖片中對應(yīng)像素的R分量、G分量、B分量。如圖3所示,本具體實(shí)施例的流程如下所述:S31、客戶端向服務(wù)器端發(fā)送網(wǎng)頁請求,請求客戶端腳本。S32、服務(wù)器接收到客戶端發(fā)送來的網(wǎng)頁請求后,利用服務(wù)器語言的ASCII碼轉(zhuǎn)換函數(shù),將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的ASCII碼。比如,服務(wù)器語言的ASCII碼轉(zhuǎn)換函數(shù)可以為Java中使用的charCodeAt函數(shù)。S33、服務(wù)器將客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的ASCII碼依序作為對應(yīng)像素的R分量值、G分量值、B分量值,將所有像素的Alpha通道都取值為0,生成一圖片。這樣可以保證Canva繪制圖片時(shí)取到的顏色值是正確的。

S34、服務(wù)器將生成的圖片發(fā)送給客戶端。S35、客戶端接收到圖片后,使用Canvas的圖片重繪接口,將圖片數(shù)據(jù)繪制在Canvas上,使用Canvas提供的getImageData接口獲取圖片中每個(gè)像素點(diǎn)的R分量值、G分量值、B分量值。S36、客戶端利用客戶端腳本的ASCII碼轉(zhuǎn)換函數(shù),將每個(gè)像素點(diǎn)的R分量值、G分量值、B分量值轉(zhuǎn)換為ASCII碼,從而得到客戶端腳本中每個(gè)字符各自對應(yīng)的ASCII碼。比如,客戶端腳本的ASCII碼轉(zhuǎn)換函數(shù)可以為Javascript中使用的fromCharCodeJava 函數(shù)。S37、客戶端依序拼接每個(gè)字符各自對應(yīng)的ASCII碼,得到客戶端可運(yùn)行的客戶端腳本。S38、客戶端運(yùn)行該客戶端腳本,使用戶看到請求的網(wǎng)頁內(nèi)容??梢姡揪唧w實(shí)施例將客戶端腳本壓縮進(jìn)一圖片,使得客戶端腳本不能通過一般的手段被查看(例如瀏覽器自帶的代碼查看工具等),提高了客戶端腳本的安全性,保護(hù)更完善;并且,對代碼開發(fā)人員的要求較低,不需像目前的腳本混淆技術(shù)那樣要求代碼開發(fā)人員嚴(yán)格遵循代碼的語法規(guī)范,開發(fā)難度較低。上述charCodeAt函數(shù)是嚴(yán)格遵循ASCII碼轉(zhuǎn)換規(guī)則的函數(shù),完整的轉(zhuǎn)換表和規(guī)則如下表I所示:
權(quán)利要求
1.一種客戶端腳本的加密處理方法,其特征在于,包括: 按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,其中,每個(gè)字符各自對應(yīng)的數(shù)字為[O,255]范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同; 根據(jù)所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的紅綠藍(lán)Alpha通道RGBA分量的對應(yīng)關(guān)系,將所述每個(gè)字符對應(yīng)的數(shù)字作為所述圖片中對應(yīng)像素的對應(yīng)分量值,生成一圖片。
2.如權(quán)利要求1所述的加密處理方法,其特征在于, 所述數(shù)字為信息交換碼; 所述按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,包括: 利用服務(wù)器語言的信息交換碼轉(zhuǎn)換函數(shù),將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的信息交換碼。
3.如權(quán)利要求1或2所述的加密處理方法,其特征在于,所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,包括: 所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者 所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量 對應(yīng)。
4.如權(quán)利要求3所述的加密處理方法,其特征在于,當(dāng)所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量時(shí),所述圖片的Alpha通道值為O。
5.如權(quán)利要求1所述的加密處理方法,其特征在于,所述生成一圖片之后,所述處理方法還包括: 將所述圖片發(fā)送給客戶端。
6.一種客戶端腳本的解密處理方法,其特征在于,包括: 獲取圖片中像素的RGBA分量值; 根據(jù)客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字與所述圖片中像素的RGBA分量的對應(yīng)關(guān)系,確定所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字; 按照數(shù)字與字符的對應(yīng)規(guī)則,將所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,其中,每個(gè)字符各自對應(yīng)的數(shù)字為[O,255]范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同; 依序拼接所述轉(zhuǎn)換而成的字符,形成客戶端可執(zhí)行的客戶端腳本。
7.如權(quán)利要求6所述的解密處理方法,其特征在于, 所述數(shù)字為信息交換碼; 所述按照數(shù)字與字符的對應(yīng)規(guī)則,將所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,包括: 利用客戶端腳本的信息交換碼轉(zhuǎn)換函數(shù),將所述客戶端腳本中每個(gè)字符各自對應(yīng)的信息交換碼轉(zhuǎn)換為對應(yīng)的字符。
8.如權(quán)利要求6或7所述的解密處理方法,其特征在于,所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,包括: 所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者 所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng)。
9.如權(quán)利要求6所述的解密處理方法,其特征在于,所述獲取圖片中像素的RGBA分量值之前,所述處理方法還包括: 接收服務(wù)器發(fā)送的所述圖片。
10.一種客戶端腳本的加密處理裝置,其特征在于,包括: 轉(zhuǎn)換模塊,用于按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同; 生成模塊,用于根據(jù)所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,將所述每個(gè)字符對應(yīng)的數(shù)字作為所述圖片中對應(yīng)像素的對應(yīng)分量值,生成一圖片。
11.如權(quán)利要求10所述的加密處理裝置,其特征在于,所述轉(zhuǎn)換模塊包括: 轉(zhuǎn)換子模塊,用于利用服務(wù)器語言的信息交換碼轉(zhuǎn)換函數(shù),將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的信息交換碼。
12.如權(quán)利要求10所 述的加密處理裝置,其特征在于,所述加密處理裝置還包括: 存儲模塊,用于存儲所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGBA分量的對應(yīng)關(guān)系,包括:所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng);和/或 發(fā)送模塊,用于在所述生成模塊生成所述圖片之后,將所述圖片發(fā)送給客戶端。
13.一種客戶端腳本的解密處理裝置,其特征在于,包括: 獲取模塊,用于獲取圖片中像素的RGBA分量值; 確定模塊,用于根據(jù)客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字與所述圖片中像素的RGBA分量的對應(yīng)關(guān)系,確定所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字; 轉(zhuǎn)換模塊,用于按照數(shù)字與字符的對應(yīng)規(guī)則,將所述客戶端腳本中每個(gè)字符各自對應(yīng)的數(shù)字轉(zhuǎn)換為對應(yīng)的字符,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同; 拼接模塊,用于依序拼接所述轉(zhuǎn)換而成的字符,形成客戶端可執(zhí)行的客戶端腳本。
14.如權(quán)利要求13所述的解密處理裝置,其特征在于,所述轉(zhuǎn)換模塊包括: 轉(zhuǎn)換子模塊,用于利用客戶端腳本的信息交換碼轉(zhuǎn)換函數(shù),將所述客戶端腳本中每個(gè)字符各自對應(yīng)的信息交換碼轉(zhuǎn)換為對應(yīng)的字符。
15.如權(quán)利要求13所述的解密處理裝置,其特征在于,所述解密處理裝置還包括: 存儲模塊,用于存儲所述客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的RGB分量的對應(yīng)關(guān)系,包括:所述客戶端腳本中每連續(xù)三個(gè)字符各自對應(yīng)的數(shù)字,依序?qū)?yīng)所述圖片中對應(yīng)像素的R分量、G分量、B分量;或者所述客戶端腳本中的每個(gè)字符各自對應(yīng)的數(shù)字,分別與所述圖片中的對應(yīng)像素的R分量、G分量、B分量或者Alpha通道分量對應(yīng);和/或接收模塊,用于在所述獲取模塊獲取圖片中像素的RGBA分量值之前,接收服務(wù)器發(fā)送的所述圖片 。
全文摘要
本發(fā)明實(shí)施例公開了客戶端腳本的加密處理方法及裝置和解密處理方法及裝置,用以解決目前的客戶端腳本加密技術(shù)存在易被解密、代碼保護(hù)不完善、開發(fā)難度高的問題。上述加密處理方法,包括按照數(shù)字與字符的對應(yīng)規(guī)則,將客戶端腳本中的每個(gè)字符轉(zhuǎn)換為對應(yīng)的數(shù)字,其中,每個(gè)字符各自對應(yīng)的數(shù)字為
范圍內(nèi)的整數(shù),且每個(gè)字符各自對應(yīng)的數(shù)字不相同;根據(jù)客戶端腳本中每個(gè)字符對應(yīng)的數(shù)字與圖片中像素的紅綠藍(lán)Alpha通道RGBA分量的對應(yīng)關(guān)系,將每個(gè)字符對應(yīng)的數(shù)字作為圖片中對應(yīng)像素的對應(yīng)分量值,生成一圖片。本發(fā)明技術(shù)方案提高了客戶端腳本的安全性,保護(hù)更完善,開發(fā)難度較低。
文檔編號G06F21/10GK103246830SQ201310156278
公開日2013年8月14日 申請日期2013年4月28日 優(yōu)先權(quán)日2013年4月28日
發(fā)明者任遠(yuǎn), 姚麗梅 申請人:北京小米科技有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1