本發(fā)明涉及直播視頻流播放技術(shù)領(lǐng)域,特別涉及一種在flash中對圖片資源進(jìn)行加密保護(hù)的方法及裝置。
背景技術(shù):
目前,flash被廣泛的用于網(wǎng)頁設(shè)計和網(wǎng)頁動畫制作及網(wǎng)頁視頻播放等。大多數(shù)的視頻網(wǎng)站包括直播網(wǎng)站都采用flash做為其視頻播放器,并且大多數(shù)的網(wǎng)頁游戲也會使用flash來開發(fā),flash中一般都會大量的使用到圖片資源,使用的圖片要么是從之前下載好的圖片資源緩存在本地后進(jìn)行加載,要么是從服務(wù)器中下載后來進(jìn)行加載及顯示。由于圖片資源在網(wǎng)絡(luò)中是明文傳輸?shù)?,所以比較容易被hack破解,從而獲取到所有的圖片資源,最終對flash開發(fā)商造成極大的損失。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種在flash中對圖片資源進(jìn)行加密保護(hù)的方法及裝置,保障了圖片資源的傳輸以及使用時的安全性,提高h(yuǎn)ack獲取原始圖片資源的門檻,從而可以極大的加強(qiáng)圖片資源的保護(hù)。
第一方面,本申請?zhí)峁┮环N在flash中對圖片資源進(jìn)行加密保護(hù)的方法,應(yīng)用于用戶終端,該方法包括:
向服務(wù)器發(fā)送加載第一圖片的請求,以使得所述服務(wù)器在收到所述請求后對所述第一圖片進(jìn)行加密,所述第一圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片;
從所述服務(wù)器下載加密后的第一圖片,并在所述目標(biāo)flash文件中加載所述加密后的第一圖片;
對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片;
在所述目標(biāo)flash文件中對所述第一圖片進(jìn)行顯示。
進(jìn)一步的,所述從所述服務(wù)器下載加密后的第一圖片之前,所述方法還包括:
定義一個flash文件加載實(shí)例;
注冊編寫圖片資源加載完成的回調(diào)函數(shù);
創(chuàng)建請求所述第一圖片的接口;
所述向服務(wù)器發(fā)送加載第一圖片的請求的步驟,包括:
調(diào)用所述接口向服務(wù)器發(fā)送加載所述第一圖片的請求;
所述對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片的步驟,包括:
在所述回調(diào)函數(shù)中對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片。
進(jìn)一步的,所述注冊編寫圖片資源加載完成的回調(diào)函數(shù)的步驟,包括:
注冊圖片資源加載完成的回調(diào)函數(shù);
編寫所述圖片資源加載完成的回調(diào)函數(shù),以檢測所述目標(biāo)flash文件中所述加密后的第一圖片是否加載完成,并在加載完成時執(zhí)行對所述加密后的第一圖片進(jìn)行解密的步驟。
進(jìn)一步的,所述加密后的第一圖片為tea加密算法加密的第一圖片,所述tea加密算法采用第一圖片對應(yīng)名稱字符的md5值作為key值;
所述對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片的步驟,包括:
調(diào)用md5接口計算所述第一圖片對應(yīng)名稱字符的md5值;
采用所述第一圖片對應(yīng)名稱字符的md5值作為tea解密算法的key值,調(diào)用tea解密算法的接口對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片。
進(jìn)一步的,所述在目標(biāo)flash文件中對所述第一圖片進(jìn)行顯示的步驟,包括:
定義一個flash的圖片資源對象,所述圖片資源對象中包括所述第一圖片的數(shù)據(jù);
將所述目標(biāo)flash文件導(dǎo)入flash舞臺,調(diào)用flash舞臺接口將所述圖片資源對象加載到flash舞臺中,以顯示所述第一圖片。
第二方面,本申請?zhí)峁┮环N在flash中對圖片資源進(jìn)行加密保護(hù)的裝置,應(yīng)用于用戶終端,該裝置包括:
請求單元,用于向服務(wù)器發(fā)送加載第一圖片的請求,以使得所述服務(wù)器在收到所述請求后對所述第一圖片進(jìn)行加密,所述第一圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片;
加載單元,用于從所述服務(wù)器下載加密后的第一圖片,并在所述目標(biāo)flash文件中加載所述加密后的第一圖片;
解密單元,對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片;
顯示單元,用于在目標(biāo)flash文件中對所述第一圖片進(jìn)行顯示。
進(jìn)一步的,所述裝置還包括:
定義單元,用于從所述服務(wù)器下載加密后的第一圖片之前,定義一個flash文件加載實(shí)例;
注冊編寫單元,用于注冊編寫圖片資源加載完成的回調(diào)函數(shù);
創(chuàng)建單元,用于創(chuàng)建請求所述第一圖片的接口;
所述請求單元具體用于:
調(diào)用所述接口向服務(wù)器發(fā)送加載所述第一圖片的請求;
所述解密單元具體用于:
在所述回調(diào)函數(shù)中對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片。
進(jìn)一步的,所述注冊編寫單元具體用于:
注冊圖片資源加載完成的回調(diào)函數(shù);
編寫所述圖片資源加載完成的回調(diào)函數(shù),以檢測所述目標(biāo)flash文件中所述加密后的第一圖片是否加載完成,并在加載完成時執(zhí)行對所述加密后的第一圖片進(jìn)行解密的步驟。
進(jìn)一步的,所述加密后的第一圖片為tea加密算法加密的第一圖片,所述tea加密算法采用第一圖片對應(yīng)名稱字符的md5值作為key值;
所述解密單元具體用于:
調(diào)用md5接口計算所述第一圖片對應(yīng)名稱字符的md5值;
采用所述第一圖片對應(yīng)名稱字符的md5值作為tea解密算法的key值,調(diào)用tea解密算法的接口對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片。
進(jìn)一步的,所述顯示單元具體用于:
定義一個flash的圖片資源對象,所述圖片資源對象中包括所述第一圖片的數(shù)據(jù);
將所述目標(biāo)flash文件導(dǎo)入flash舞臺,調(diào)用flash舞臺接口將所述圖片資源對象加載到flash舞臺中,以顯示所述第一圖片。
本發(fā)明實(shí)施例通過向服務(wù)器發(fā)送加載第一圖片的請求;從服務(wù)器下載加密后的第一圖片,并在目標(biāo)flash文件中加載加密后的第一圖片,對加密后的第一圖片進(jìn)行解密,得到第一圖片;在目標(biāo)flash文件中對第一圖片進(jìn)行顯示。本發(fā)明實(shí)施例中由于從服務(wù)器加載的是加密的圖片,只有在最終進(jìn)行顯示的時候圖片資源才是解密的,其他時刻圖片資源都是加密存儲,保障了圖片資源的傳輸以及使用時的安全性,提高h(yuǎn)ack獲取原始圖片資源的門檻,從而可以極大的加強(qiáng)圖片資源的保護(hù)。
附圖說明
圖1是本發(fā)明實(shí)施例中用戶終端側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的方法的一個實(shí)施例示意圖;
圖2是本發(fā)明實(shí)施例中注冊編寫圖片資源加載完成的回調(diào)函數(shù)的一個實(shí)施例示意圖;
圖3是本發(fā)明實(shí)施例中用戶終端側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的方法的另一個實(shí)施例示意圖;
圖4是圖1所示實(shí)施例中步驟s3的一個實(shí)施例示意圖;
圖5是圖1所示實(shí)施例中步驟s4的一個實(shí)施例示意圖;
圖6是本發(fā)明實(shí)施例中用戶終端側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的裝置的一個實(shí)施例示意圖;
圖7是本發(fā)明實(shí)施例中用戶終端側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的裝置的另一個實(shí)施例示意圖;
圖8是本發(fā)明實(shí)施例中服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的方法的一個實(shí)施例示意圖;
圖9是圖8所示實(shí)施例中步驟s82的一個實(shí)施例示意圖;
圖10是在圖8所示實(shí)施例基礎(chǔ)上,在flash中對圖片資源進(jìn)行加密保護(hù)的方法的一個實(shí)施例示意圖;
圖11是本發(fā)明實(shí)施例中服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的裝置的一個實(shí)施例示意圖;
圖12是本發(fā)明實(shí)施例中服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的裝置的另一個實(shí)施例示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
本發(fā)明實(shí)施例中涉及用戶終端和服務(wù)器兩個硬件主體,用戶終端通過網(wǎng)絡(luò)與服務(wù)器進(jìn)行連接,本發(fā)明實(shí)施例中針對的是用戶終端flash中使用的圖片資源有從服務(wù)器獲取的場景,對此種場景下圖片資源進(jìn)行加密保護(hù)。
下面介紹本發(fā)明實(shí)施例中用戶終端側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的方法,該方法應(yīng)用于在flash中對圖片資源進(jìn)行加密保護(hù)的裝置,該裝置位于用戶終端,該用戶終端可以是手機(jī)、平板、個人電腦等。
請參閱圖1,本發(fā)明實(shí)施例中在flash中對圖片資源進(jìn)行加密保護(hù)的方法一個實(shí)施例包括:
s1、向服務(wù)器發(fā)送加載第一圖片的請求,以使得所述服務(wù)器在收到所述請求后對第一圖片進(jìn)行加密;
本實(shí)施例中,該第一圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片,服務(wù)器對第一圖片進(jìn)行加密可以采用tea加密算法。
s2、從服務(wù)器下載加密后的第一圖片,并在目標(biāo)flash文件中加載所述加密后的第一圖片;
s3、對加密后的第一圖片進(jìn)行解密,得到第一圖片;
s4、在目標(biāo)flash文件中對第一圖片進(jìn)行顯示。
本發(fā)明實(shí)施例通過向服務(wù)器發(fā)送加載第一圖片的請求;從服務(wù)器下載加密后的第一圖片,并在目標(biāo)flash文件中加載加密后的第一圖片,對加密后的第一圖片進(jìn)行解密,得到第一圖片;在目標(biāo)flash文件中對第一圖片進(jìn)行顯示。本發(fā)明實(shí)施例中由于從服務(wù)器加載的是加密的圖片,只有在最終進(jìn)行顯示的時候圖片資源才是解密的,其他時刻圖片資源都是加密存儲,保障了圖片資源的傳輸以及使用時的安全性,提高h(yuǎn)ack獲取原始圖片資源的門檻,從而可以極大的加強(qiáng)圖片資源的保護(hù)。
本發(fā)明實(shí)施例中,服務(wù)器對第一圖片采用tea加密算法進(jìn)行加密的具體的實(shí)現(xiàn)方法可以如下:
對于第一圖片xxx.png其中xxx.png則是一張png的圖片。
key=md5.create(“xxx.png”);
調(diào)用md5接口來計算字符串“xxx.png”的md5值。調(diào)用tea.encrypt(key,xxx.png)來對圖片進(jìn)行加密;tea.encrypt則是tea加密算法的接口。
其中key則是tea加密算法的key值,xxx.png則是第一圖片內(nèi)容,加密后同樣也存儲在xxx.png中。通過上述計算后,最終生成的xxx.png圖片內(nèi)容則是加密過的,本發(fā)明實(shí)施例中,對flash需要加載的所有圖片資源均可以使用上述方法加密。即可以通過這個步驟就實(shí)現(xiàn)對服務(wù)器上所有的圖片資源使用tea加密算法來進(jìn)行加密。
進(jìn)一步的,在步驟s2之前,本發(fā)明實(shí)施例中方法還可以包括:
(1)定義一個flash文件加載實(shí)例;
一般的,flash文件中加載圖片資源的代碼都是由actionscript編寫的,因此,本實(shí)施例中,可以首先定義一個actionscript的loader實(shí)例,在actionscript中提供了一個loader類用來加載png圖片資源文件。因此,定義一個actionscript的loader實(shí)例具體實(shí)現(xiàn)方式可以如下:
varpngloader:loader=newloader();
(2)注冊編寫圖片資源加載完成的回調(diào)函數(shù);
其中,如圖2所示,步驟(2)又可以進(jìn)一步包括:
s21、注冊圖片資源加載完成的回調(diào)函數(shù);
在actionscript中提供了一個loader實(shí)例的對象,其中l(wèi)oader對象有一個contentloadinfo的屬性,使用該屬性來注冊事件的回調(diào)函數(shù)(例如回調(diào)函數(shù)pngloadcompletehandler),當(dāng)loader加載完成一個圖片文件后,會回調(diào)這個注冊的事件函數(shù),以通知圖片文件已經(jīng)加載完成。
在loader的contentloadinfo屬性中提供了一個addeventlistener接口用來注冊事件。該接口具體原型如下:
其中第一個參數(shù)type:string用來表示注冊的事件類型,對應(yīng)于本實(shí)施例則是event.complete,表示注冊flash文件(例如swf文件)加載完成事件。其中第二個參數(shù)listener:function用來表示注冊的完成事件完成后的回調(diào)函數(shù),用于觸發(fā)回調(diào)函數(shù)執(zhí)行。其中第三個參數(shù)priority:int用于標(biāo)示事件的優(yōu)先級,使用默認(rèn)值0。其中第四個參數(shù)useweakreference:boolean指定回調(diào)函數(shù)是弱應(yīng)用還是強(qiáng)引用,使用默認(rèn)值false。
s22、編寫圖片資源加載完成的回調(diào)函數(shù),以檢測目標(biāo)flash文件中加密后的第一圖片是否加載完成,并在加載完成時執(zhí)行對加密后的第一圖片進(jìn)行解密的步驟。
編寫回調(diào)函數(shù)pngloadcompletehandler,此函數(shù)即是上面調(diào)用的注冊完成事件填入的回調(diào)函數(shù),該回調(diào)函數(shù)用于檢測目標(biāo)flash文件中加密后的第一圖片是否加載完成,并在加載完成時執(zhí)行對加密后的第一圖片進(jìn)行解密的步驟,即步驟s3。
(3)、創(chuàng)建請求所述第一圖片的接口;
actionscript提供接口用來從網(wǎng)絡(luò)或者本地請求該第一圖片,具體接口如下:
urlrequest(url:string=null)
其中參數(shù)url:string標(biāo)示傳入該第一圖片的url地址或者本地路徑。
此時,如圖3所示,所述步驟s1具體可以包括:
s1’、調(diào)用接口向服務(wù)器發(fā)送加載第一圖片的請求,以使得服務(wù)器在收到所述請求后對第一圖片進(jìn)行加密。
此時,步驟s3具體可以包括:
s3’、在回調(diào)函數(shù)中對加密后的第一圖片進(jìn)行解密,得到第一圖片。
進(jìn)一步的,所述加密后的第一圖片為tea加密算法加密的第一圖片,所述tea加密算法采用第一圖片對應(yīng)名稱字符的md5值作為key值;
此時,如圖4所示,步驟s3具體可以包括:
s31、調(diào)用md5接口計算第一圖片對應(yīng)名稱字符的md5值;
s32、采用第一圖片對應(yīng)名稱字符的md5值作為tea解密算法的key值,調(diào)用tea解密算法的接口對加密后的第一圖片進(jìn)行解密,得到第一圖片。
當(dāng)?shù)谝粓D片從服務(wù)器請求下載完成后,加載到了內(nèi)存中后會調(diào)用步驟s6中的回調(diào)函數(shù)pngloadcompletehandler來通知數(shù)據(jù)已經(jīng)加載完成。同時在回調(diào)函數(shù)中有一個參數(shù)的屬性用來傳回加載的圖片數(shù)據(jù),具體則是evt.target.content.bitmapdata,其中bitmapdata則儲存著加載的加密的圖片數(shù)據(jù)。然后可以使用tea算法來對數(shù)據(jù)進(jìn)行解密操作,具體實(shí)現(xiàn)方式如下:
例如對于第一圖片xxx.png其中xxx.png則是一張png的圖片。
key=md5.create(“xxx.png”);
調(diào)用md5接口來計算字符串“xxx.png”的md5值,然后調(diào)用tea.decrypt(key,evt.target.content.bitmapdata)來對圖片進(jìn)行解密。其中,tea.decrypt則是tea解密算法的接口;key則是tea解密算法的key值,與第一圖片進(jìn)行tea加密時的key值相同;evt.target.content.bitmapdata則是從服務(wù)器下載并加載的加密后的png第一圖片內(nèi)容,解密后同樣也存儲在evt.target.content.bitmapdata中。
至此,通過這個步驟就實(shí)現(xiàn)在對加載的png圖片調(diào)用tea算法來對圖片進(jìn)行解密出原始的第一圖片資源。
進(jìn)一步的,如圖5所示,上述步驟s4可以進(jìn)一步包括:
s41、定義一個flash的圖片資源對象;
其中,該圖片資源對象中包括所述第一圖片的數(shù)據(jù);
當(dāng)對加密后的第一圖片進(jìn)行解密后,則可以直接將其加載到flash舞臺中進(jìn)行顯示。具體實(shí)現(xiàn)如下:
首先需要定義一個flash的圖片資源對象,該圖片資源對象中包括所述第一圖片的數(shù)據(jù),具體實(shí)現(xiàn)方式如下:
varimg:bitmap=newbitmap(evt.target.content.bitmapdata);
其中img則是該圖片對象,參數(shù)evt.target.content.bitmapdata則是步驟s32中解密后的圖片數(shù)據(jù)。
s42、將目標(biāo)flash文件導(dǎo)入flash舞臺,調(diào)用flash舞臺接口將所述圖片資源對象加載到flash舞臺中,以顯示所述第一圖片。
在定義一個flash的圖片資源對象,然后將目標(biāo)flash文件導(dǎo)入flash舞臺,調(diào)用flash舞臺的接口來將圖片加入到舞臺中進(jìn)行顯示。
stage.addchild(img);
至此,通過這個步驟就實(shí)現(xiàn)了對解密后的第一圖片進(jìn)行顯示到flash舞臺中。
tea加密算法在加密數(shù)據(jù)時是需要使用一個key來做為加密算法使用的key,解密時也需要使用同樣一個key才能解密出正確的數(shù)據(jù)。一個flash文件可能同時在一個服務(wù)器中加載多張圖片,此時,本發(fā)明實(shí)施例中為了進(jìn)一步的加強(qiáng)加密算法的安全性,對每個圖片資源都可以使用不同的key來加密該圖片,進(jìn)一步的,每個圖片資源的key則是通過計算其圖片資源的文件名的哈希值來作為key值,例如md5(為計算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù))值來作為key值,由于每個文件名的名字不同所以可以使得每個圖片資源加密使用的key是不一樣的。因此,本發(fā)明實(shí)施例中方法還可以進(jìn)一步包括:
向服務(wù)器發(fā)送加載第二圖片的請求,以使得所述服務(wù)器在收到所述請求后對所述第二圖片進(jìn)行加密,所述第二圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片;
從所述服務(wù)器下載加密后的第二圖片,并在所述目標(biāo)flash文件中加載所述加密后的第二圖片;
對所述加密后的第二圖片進(jìn)行解密,得到所述第二圖片;
在所述目標(biāo)flash文件中對所述第二圖片進(jìn)行顯示。
本發(fā)明實(shí)施例中,對上述第二圖片的處理方式與上述實(shí)施例中對第一圖片的處理方式類似,此處不再贅述。
下面介紹本發(fā)明實(shí)施例中在flash中對圖片資源進(jìn)行加密保護(hù)的裝置的實(shí)施例,該裝置同樣應(yīng)用于用戶終端。
請參閱圖6,為本發(fā)明實(shí)施例中在flash中對圖片資源進(jìn)行加密保護(hù)的裝置的一個實(shí)施例示意圖,該裝置包括:
請求單元601,用于向服務(wù)器發(fā)送加載第一圖片的請求,以使得所述服務(wù)器在收到所述請求后對所述第一圖片進(jìn)行加密;
加載單元602,用于從所述服務(wù)器下載加密后的第一圖片,并在所述目標(biāo)flash文件中加載所述加密后的第一圖片,所述第一圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片;
解密單元603,對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片;
顯示單元604,用于在目標(biāo)flash文件中對所述第一圖片進(jìn)行顯示。
進(jìn)一步的,如圖7所示,所述裝置還包括:
定義單元605,用于從所述服務(wù)器下載加密后的第一圖片之前,定義一個flash文件加載實(shí)例;
注冊編寫單元606,用于注冊編寫圖片資源加載完成的回調(diào)函數(shù);
創(chuàng)建單元607,用于創(chuàng)建請求所述第一圖片的接口;
所述請求單元601具體用于:
調(diào)用所述接口向服務(wù)器發(fā)送加載所述第一圖片的請求;
所述解密單元603具體用于:
在所述回調(diào)函數(shù)中對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片。
進(jìn)一步的,所述注冊編寫單元606具體用于:
注冊圖片資源加載完成的回調(diào)函數(shù);
編寫所述圖片資源加載完成的回調(diào)函數(shù),以檢測所述目標(biāo)flash文件中所述加密后的第一圖片是否加載完成,并在加載完成時執(zhí)行對所述加密后的第一圖片進(jìn)行解密的步驟。
進(jìn)一步的,所述加密后的第一圖片為tea加密算法加密的第一圖片,所述tea加密算法采用第一圖片對應(yīng)名稱字符的md5值作為key值;
所述解密單元603具體用于:
調(diào)用md5接口計算所述第一圖片對應(yīng)名稱字符的md5值;
采用所述第一圖片對應(yīng)名稱字符的md5值作為tea解密算法的key值,調(diào)用tea解密算法的接口對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片。
進(jìn)一步的,所述顯示單元604具體用于:
定義一個flash的圖片資源對象,所述圖片資源對象中包括所述第一圖片的數(shù)據(jù);
將所述目標(biāo)flash文件導(dǎo)入flash舞臺,調(diào)用flash舞臺接口將所述圖片資源對象加載到flash舞臺中,以顯示所述第一圖片。
下面介紹本發(fā)明實(shí)施例中服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的方法,該方法應(yīng)用于在flash中對圖片資源進(jìn)行加密保護(hù)的裝置,該裝置應(yīng)用于服務(wù)器。
請參閱圖8,本發(fā)明實(shí)施例中在flash中對圖片資源進(jìn)行加密保護(hù)的方法的一個實(shí)施例包括:
s81、接收用戶終端發(fā)送的加載第一圖片的請求;
其中,該第一圖片為保存在服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片。
s82、對第一圖片進(jìn)行加密,得到加密后的第一圖片;
s83、向用戶終端發(fā)送所述加密后的第一圖片,以使得用戶終端對所述加密后的第一圖片進(jìn)行解密,得到第一圖片,并在目標(biāo)flash文件中對第一圖片進(jìn)行顯示。
本發(fā)明實(shí)施例通過接收用戶終端發(fā)送的加載第一圖片的請求,對第一圖片進(jìn)行加密,得到加密后的第一圖片;向用戶終端發(fā)送加密后的第一圖片,以使得用戶終端對加密后的第一圖片進(jìn)行解密,得到第一圖片,并在目標(biāo)flash文件中對第一圖片進(jìn)行顯示。本發(fā)明實(shí)施例中由于服務(wù)器對用戶終端加載的圖片進(jìn)行了加密,只有在用戶終端進(jìn)行解密圖片資源才能正常顯示,其他時刻圖片資源都是加密存儲,保障了圖片資源的傳輸以及使用時的安全性,提高h(yuǎn)ack獲取原始圖片資源的門檻,從而可以極大的加強(qiáng)圖片資源的保護(hù)。
如圖9所示,在圖8所示實(shí)施例中,步驟s82可以進(jìn)一步包括:
s821、計算第一圖片名字對應(yīng)的md5值;
本實(shí)施例中,在所述計算所述第一圖片名字對應(yīng)的md5值之前,該方法包括:編寫計算md5值得md5函數(shù)接口;
具體編寫md5函數(shù)的接口如下:
voidmd5create(char*input,intinput_len,char*md5result);
其中,參數(shù)char*input為輸入需要計算md5的數(shù)據(jù);參數(shù)intinput_len為輸入需要校驗(yàn)數(shù)據(jù)的長度;參數(shù)char*md5result為計算的md5結(jié)果數(shù)據(jù)。
通過這個步驟就編寫了一個md5函數(shù)接口供后續(xù)步驟調(diào)用此函數(shù)接口算法來計算整個第一圖片名字對應(yīng)的md5值。
此時,所述計算所述第一圖片名字對應(yīng)的md5值的步驟,包括:
調(diào)用所述md5函數(shù)接口計算所述第一圖片名字對應(yīng)的md5值。
s822、采用第一圖片名字對應(yīng)的md5值作為tea加密算法的第一key值,通過tea加密算法對第一圖片進(jìn)行加密,得到加密后的第一圖片。
下面以一具體示例描述該步驟具體的實(shí)現(xiàn)方法,具體如下:
對于第一圖片xxx.png,其中xxx.png則是一張png的圖片。
通過md5值以及預(yù)先設(shè)定的第一key值,通過tea加密算法對第一圖片進(jìn)行加密如下:
key=md5.create(“xxx.png”);
調(diào)用md5接口來計算字符串“xxx.png”的md5值,然后調(diào)用tea.encrypt(key,xxx.png)來對圖片進(jìn)行加密;
其中,tea.encrypt則是tea加密算法的接口;key則是tea加密算法的key值;xxx.png則是png的圖片內(nèi)容,加密后同樣也存儲在xxx.png中。
通過上述計算后,最終生成的第一圖片xxx.png其圖片內(nèi)容則是加密過的。
進(jìn)一步的,一個flash文件可能同時在一個服務(wù)器中加載多張圖片,此時,為了進(jìn)一步的加強(qiáng)加密算法的安全性,對每個圖片資源都使用不同的key來加密該圖片,每個圖片資源的key則是通過計算其圖片資源的文件名的md5(為計算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù))值來作為key值。由于每個文件名的名字不同所以可以使得每個圖片資源加密使用的key是不一樣的。因此,如圖10所示,本發(fā)明實(shí)施例中方法還可以進(jìn)一步包括:
s84、接收用戶終端發(fā)送的加載第二圖片的請求;
其中,第二圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片,所述第二圖片與所述第一圖片不同。
s85、對第二圖片進(jìn)行加密,得到加密后的第二圖片;
s86、向用戶終端發(fā)送加密后的第二圖片,以使得用戶終端對加密后的第二圖片進(jìn)行解密,得到第二圖片,并在目標(biāo)flash文件中對第二圖片進(jìn)行顯示。
其中,上述根據(jù)所述服請求后對所述第二圖片進(jìn)行加密,得到加密后的第二圖片;
計算所述第二圖片名字對應(yīng)的md5值;
采用所述第二圖片名字對應(yīng)的md5值以作為tea加密算法的第二key值,通過tea加密算法對所述第二圖片進(jìn)行加密,得到加密后的第二圖片。
上述步驟s84~s86中的具體實(shí)現(xiàn)方式與上述步驟s81~s83類似,僅第一圖片和第二圖片不同,因此它們對應(yīng)的第二key值與上述第一key值也不同,其他可參考上述實(shí)施例,具體實(shí)施步驟此處不再贅述。
下面介紹本發(fā)明實(shí)施例中服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的裝置,該裝置應(yīng)用于服務(wù)器,如圖11所示,該裝置包括:
接收單元1101,用于接收用戶終端發(fā)送的加載第一圖片的請求,所述第一圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片;
加密單元1102,用于對所述第一圖片進(jìn)行加密,得到加密后的第一圖片;
發(fā)送單元1103,用于向所述用戶終端發(fā)送所述加密后的第一圖片,以使得所述用戶終端對所述加密后的第一圖片進(jìn)行解密,得到所述第一圖片,并在所述目標(biāo)flash文件中對所述第一圖片進(jìn)行顯示。
進(jìn)一步的,所述加密單元1102具體用于:
計算所述第一圖片名字對應(yīng)的md5值;
采用所述第一圖片名字對應(yīng)的md5值作為tea加密算法的第一key值,通過tea加密算法對所述第一圖片進(jìn)行加密,得到加密后的第一圖片。
進(jìn)一步的,如圖12所示,所述裝置還包括:
編寫單元1104,用于在所述計算所述第一圖片名字對應(yīng)的md5值之前,編寫計算md5值得md5函數(shù)接口;
所述加密單元1102具體用于:
調(diào)用所述md5函數(shù)接口計算所述第一圖片名字對應(yīng)的md5值。
進(jìn)一步的,所述接收單元1101還用于接收所述用戶終端發(fā)送的加載第二圖片的請求,所述第二圖片為保存在所述服務(wù)器中并被目標(biāo)flash文件調(diào)用的圖片,所述第二圖片與所述第一圖片不同;
所述加密單元1102還用于對所述第二圖片進(jìn)行加密,得到加密后的第二圖片;
所述發(fā)送單元1103還用于向所述用戶終端發(fā)送所述加密后的第二圖片,以使得所述用戶終端對所述加密后的第二圖片進(jìn)行解密,得到所述第二圖片,并在所述目標(biāo)flash文件中對所述第二圖片進(jìn)行顯示。
進(jìn)一步的,所述加密單元1102具體還用于:
計算所述第二圖片名字對應(yīng)的md5值;
采用所述第二圖片名字對應(yīng)的md5值以作為tea加密算法的第二key值,通過tea加密算法對所述第二圖片進(jìn)行加密,得到加密后的第二圖片。
本發(fā)明實(shí)施例中用戶終端側(cè)的在flash中對圖片資源進(jìn)行加密保護(hù)的方法和服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的方法可相互參照,在一側(cè)未描述到的部分可參照另一側(cè)方法。同理用戶終端側(cè)的在flash中對圖片資源進(jìn)行加密保護(hù)的裝置和服務(wù)器側(cè)在flash中對圖片資源進(jìn)行加密保護(hù)的裝置也可以相互參照,此處不做限定。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。