專利名稱:批量處理swf打散加密方法及裝置的制作方法
技術領域:
本發明涉及計算機數據加密技術,尤其涉及一種批量處理SWF打散加密方法及裝置。
背景技術:
SffF文件即以SWF”結尾的文件,SffF即“shock wave flash”的縮寫,是一種支持矢量和點陣圖形的動畫文件格式,被廣泛應用于網頁設計,動畫制作等領域,SWF文件通常也被稱為Flash文件。由于SWF文件發布后為明文狀態,因此為了對SWF文件進行保密,需要對其進行加密。傳統技術中,SWF文件的加密方法為從網絡上下載一個加密軟件,然后對單個SWF文件進行加密,當需要加密的SWF文件數量較多時,現有技術存在加密效率低的問題,而且在加密前還需要事先下載應用文件,占用客戶端的磁盤空間。
發明內容
針對傳統技術的上述缺陷,本發明實施例提供一種批量處理SWF打散加密方法及
>J-U ρ α裝直。本發明實施例提供一種批量處理SWF打散加密方法,包括:
獲取客戶端批量上傳的源SWF文件;依次解析所述源SWF文件,獲取所述源SWF文件的文件頭;通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰;將每個加密SWF文件發送至所述客戶端。優選的,所述依次解析所述源SWF文件,獲取所述源SWF文件的文件頭,包括:通過二進制流讀取所述源SWF文件,獲取所述源SWF文件的文件頭信息;根據所述文件頭信息判斷所述源SWF文件是否為壓縮文件,若是則解壓縮所述源SffF文件;獲取解壓縮后的所述源SWF文件的文件頭。優選的,所述通過二進制流方式在所述文件頭中寫入二進制流,包括:通過二進制流方式在所述文件頭的ByteArray位置寫入二進制流,使得所述文件頭無法被正常加載解析。優選的,所述將每個加密SWF文件發送至所述客戶端,包括:將所有加密SWF文件打包壓縮后,發送至所述客戶端。本發明實施例提供一種批量處理SWF打散加密裝置,包括:接收模塊,用于獲取客戶端批量上傳的源SWF文件;解析模塊,用于依次解析所述源SWF文件,獲取所述源SWF文件的文件頭;
加密模塊,用于通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰;發送模塊,用于將每個加密SWF文件發送至所述客戶端。優選的,解析模塊包括:讀取單元,用于通過二進制流讀取所述源SWF文件,獲取所述源SWF文件的文件頭
信息;判斷單元,用于根據所述文件頭信息判斷所述源SWF文件是否為壓縮文件,若是則解壓縮所述源SWF文件;提取單元,用于獲取解壓縮后的所述源SWF文件的文件頭。優選的,加密模塊包括:寫入單元,用于通過二進制流方式在所述文件頭的ByteArray位置寫入二進制流,使得所述文 件頭無法被正常加載解析,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件合并單元,用于將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰。優選的,發送模塊還用于將所有加密SWF文件打包壓縮后,發送至所述客戶端。本實施例的技術方案中,用戶通過客戶端批量上傳多個源SWF文件至批量處理SffF打散加密裝置,批量處理SWF打散加密裝置依次解析每一個源SWF文件,通過二進制流讀取源SWF文件的文件頭,然后在文件頭中插入大量的二進制流密鑰碼,使得源SWF文件變成非SWF文件格式的第一中間文件,再將第一中間文件和包含密鑰的第二中間文件合并,生成加密SWF文件,然后再將多個加密SWF文件打包發送至客戶端,從而使得用戶能夠一次批量加密多個源SWF文件,提高了加密效率,而且不需要下載加密軟件,節省了用戶的磁盤空間。
圖1為本發明批量處理SWF打散加密方法第一實施例流程圖;圖2為本發明批量處理SWF打散加密裝置第一實施例結構示意圖;圖3為本發明批量處理SWF打散加密裝置第二實施例結構示意圖。
具體實施例方式圖1為本發明批量處理SWF打散加密方法第一實施例流程圖,如圖1所示,本發明實施例所提供的批量處理SWF打散加密方法由服務器側的批量處理SWF打散加密裝置來執行,該裝置可以采用軟件和/或硬件的形式來實現,該方法包括:步驟S100,獲取客戶端批量上傳的源SWF文件;步驟S102,依次解析所述源SWF文件,獲取所述源SWF文件的文件頭;步驟S104,通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰;步驟S106,將每個加密SWF文件發送至所述客戶端。具體地,批量處理SWF打散加密裝置獲取用戶從客戶端批量上傳的源SWF文件。SWF文件由文件頭和數據體組成,其中,數據體由多個不同種類的標簽定義得到。例如:形狀定義標簽、聲音定義標簽和結束標簽等。文件頭中包括該SWF文件的版本信息、文件長度、幀尺寸、幀率、幀數等參數信息。進一步地,步驟S102包括通過二進制流讀取所述源SWF文件,獲取所述源SWF文件的文件頭信息;根據所述文件頭信息判斷所述源SWF文件是否為壓縮文件,若是則解壓縮所述源SWF文件;獲取解壓縮后的所述源SWF文件的文件頭。具體地,由于用戶上傳的源SWF文件可能包括壓縮文件,在對源SWF文件進行加密之前,需要先對源SWF文件進行解密。通過二進制流讀取源SWF文件,獲取源SWF文件的文件頭信息,判斷該文件是否被壓縮,若是則需要先解壓縮。源SWF文件的文件頭以三個標識符開始,所述的三個標志符是0x46、0x57和0x53或0x46、0x57和0x43,若源SWF文件的文件頭的三個標識符是0x46、0x57和0x53,則為未壓縮文件;若原swf文件的文件頭的三個標識符是0x46、0x57和0x43,則為壓縮文件。進一步地,步驟S104的具體實現方法為:通過二進制流方式在所述文件頭的ByteArray位置寫入二進制流,使得所述文件頭無法被正常加載解析,二進制流中包括密鑰碼,源SWF文件變為非SWF格式的第一中間文件,將第一中間文件和第二中間文件合并加載為加密SWF文件,其中第二中間文件包含與所述密鑰碼相對應的密鑰。具體地,通過二進制流向源SWF文件的文件頭寫入二進制流,該二進制流為大量無意義的數據,即密鑰碼 。由于文件頭的前幾位代表該源SWF文件的版本信息,以及解析源SffF文件的參數數據,因此當文件頭中被插入了大量的無意義二進制流后,源SWF文件變為非SWF格式的第一中間文件,無法被反編譯程序正常解析,從而達到了加密的效果。但同時該源SWF文件也無法被正常加載,因此需要將第一中間文件嵌入一個新的SWF文件,即第二中間文件,該第二中間文件中包含有與密鑰碼相對應的密鑰,該密鑰可以還原第一中間文件,使得加密后的加密SWF文件還原成源SWF文件,從而使得加密SWF文件能夠被正常加載。進一步地,步驟S106包括:將所有加密SWF文件打包壓縮后,發送至所述客戶端。在本實施例的技術方案中,用戶通過客戶端批量上傳多個源SWF文件至批量處理SffF打散加密裝置,批量處理SWF打散加密裝置依次解析每一個源SWF文件,通過二進制流讀取源SWF文件的文件頭,然后在文件頭中插入大量的二進制流密鑰碼,使得源SWF文件變成非SWF文件格式的第一中間文件,再將第一中間文件和包含密鑰的第二中間文件合并,生成加密SWF文件,然后再將多個加密SWF文件打包發送至客戶端,從而使得用戶能夠一次批量加密多個源SWF文件,提高了加密效率,而且不需要下載加密軟件,節省了用戶的磁盤空間。圖2為本發明批量處理SWF打散加密裝置第一實施例結構示意圖,如圖2所示,該裝置包括接收模塊11,解析模塊12,加密模塊13以及發送模塊14,其中:
接收模塊11,用于獲取客戶端批量上傳的源SWF文件;解析模塊12,用于依次解析所述源SWF文件,獲取所述源SWF文件的文件頭;加密模塊13,用于通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為肖_ SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰;發送模塊14,用于將每個加密SWF文件發送至所述客戶端。具體地,接收模塊11獲取用戶從客戶端批量上傳的源SWF文件,并發送至解析模塊用于解析12。解析模塊12解析出源SWF文件的文件頭后發送至加密模塊13。加密模塊13向文件頭中寫入包含密鑰碼的二進制流,從而將源SWF文件變為非SWF格式的第一中間文件,再將第一中間文件嵌入一個新的SWF文件,即第二中間文件,其中第二中間文件中包括與密鑰碼相對應的密鑰。最后加密模塊13將加密后的加密SWF文件發送至發送模塊14,由發送模塊14將每個加密SWF文件發送至客戶端。在本實施例的技術方案中,用戶通過客戶端批量上傳多個源SWF文件至批量處理SffF打散加密裝置,批量處理SWF打散加密裝置依次解析每一個源SWF文件,通過二進制流讀取源SWF文件的文件頭,然后在文件頭中插入大量的二進制流密鑰碼,使得源SWF文件變成非SWF文件格式的第一中間文件,再將第一中間文件和包含密鑰的第二中間文件合并,生成加密SWF文件,然后再將多個加密SWF文件打包發送至客戶端,從而使得用戶能夠一次批量加密多個源SWF文件,提高了加密效率,而且不需要下載加密軟件,節省了用戶的磁盤空間。圖3為本發明批量處理SWF打散加密裝置第二實施例結構示意圖,如圖3所示,該裝置包括接收模塊21,解析模塊22,加密模塊23以及發送模塊24,其中:
接收模塊21,用于獲取客戶端批量上傳的源SWF文件;解析模塊22,用于依次解析所述源SWF文件,獲取所述源SWF文件的文件頭;加密模塊23,用于通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為肖_ SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰;發送模塊24,用于將每個加密SWF文件發送至所述客戶端。其中解析模塊22包括:讀取單元221,用于通過二進制流讀取所述源SWF文件,獲取所述源SWF文件的文件頭息;判斷單元222,用于根據所述文件頭信息判斷所述源SWF文件是否為壓縮文件,若是則解壓縮所述源SWF文件;提取單元223,用于獲取解壓縮后的所述源SWF文件的文件頭。其中加密模塊23包括:寫入單元231,用于通過二進制流方式在所述文件頭的ByteArray位置寫入二進制流,使得所述文件頭無法被正常加載解析,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件
合并單元232,用于將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰。其中發送模塊24還用于將所有加密SWF文件打包壓縮后,發送至所述客戶端。本發明實施例提供的批量處理SWF打散加密裝置用于執行本發明實施例提供的批量處理SWF打散加密方法,具備相應的功能模塊,在此不再贅述。在本實施例的技術方案中,用戶通過客戶端批量上傳多個源SWF文件至批量處理SffF打散加密裝置,批量處理SWF打散加密裝置依次解析每一個源SWF文件,通過二進制流讀取源SWF文件的文件頭,然后在文件頭中插入大量的二進制流密鑰碼,使得源SWF文件變成非SWF文件格式的第一中間文件,再將第一中間文件和包含密鑰的第二中間文件合并,生成加密SWF文件,然后再將多個加密SWF文件打包發送至客戶端,從而使得用戶能夠一次批量加密多個源SWF文件,提高了加密效率,而且不需要下載加密軟件,節省了用戶的磁盤空間。應說明的是:以上實施例僅用以說明本發明而非限制,本發明也并不僅限于上述舉例,一切不脫離本發明的精神和范圍的技術方案及其改進,其均應涵蓋在本發明的權利要求范 圍中。
權利要求
1.一種批量處理SWF打散加密方法,其特征在于,包括: 獲取客戶端批量上傳的源SWF文件; 依次解析所述源SWF文件,獲取所述源SWF文件的文件頭; 通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰; 將每個加密SWF文件發送至所述客戶端。
2.根據權利要求1所述的批量處理SWF打散加密方法,其特征在于,所述依次解析所述源SWF文件,獲取所述源SWF文件的文件頭,包括: 通過二進制流讀取所述源SWF文件,獲取所述源SWF文件的文件頭信息; 根據所述文件頭信息判斷所述源SWF文件是否為壓縮文件,若是則解壓縮所述源SWF文件; 獲取解壓縮后的所述源SWF文件的文件頭。
3.根據權利要求1所述的批量處理SWF打散加密方法,其特征在于,所述通過二進制流方式在所述文件頭中寫入二進制流,包括: 通過二進制流方式在所述文件頭的ByteArray位置寫入二進制流,使得所述文件頭無法被正常加載解析。
4.根據權利要求1所述的批量處理SWF打散加密方法,其特征在于,所述將每個加密SffF文件發送至所述客戶端,包括: 將所有加密SWF文件打包壓縮后,發送至所述客戶端。
5.一種批量處理SWF打散加密裝置,其特征在于,包括: 接收模塊,用于獲取客戶端批量上傳的源SWF文件; 解析模塊,用于依次解析所述源SWF文件,獲取所述源SWF文件的文件頭; 加密模塊,用于通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰; 發送模塊,用于將每個加密SWF文件發送至所述客戶端。
6.根據權利要求5所述的批量處理SWF打散加密裝置,其特征在于,所述解析模塊包括: 讀取單元,用于通過二進制流讀取所述源SWF文件,獲取所述源SWF文件的文件頭信息; 判斷單元,用于根據所述文件頭信息判斷所述源SWF文件是否為壓縮文件,若是則解壓縮所述源SWF文件; 提取單元,用于獲取解壓縮后的所述源SWF文件的文件頭。
7.根據權利要求5所述的批量處理SWF打散加密方法,其特征在于,所述加密模塊包括: 寫入單元,用于通過二進制流方式在所述文件頭的ByteArray位置寫入二進制流,使得所述文件頭無法被正常加載解析,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件 合并單元,用于將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰。
8.根據權利要求1所述的批量處理SWF打散加密方法,其特征在于,所述發送模塊還用于將所有加密SWF文件打包壓縮后 ,發送至所述客戶端。
全文摘要
本發明提供一種批量處理SWF打散加密方法及裝置,該方法包括獲取客戶端批量上傳的源SWF文件;依次解析所述源SWF文件,獲取所述源SWF文件的文件頭;通過二進制流方式在所述文件頭中寫入二進制流,所述二進制流中包括密鑰碼,所述源SWF文件變為非SWF格式的第一中間文件,將所述第一中間文件和第二中間文件合并加載為加密SWF文件,其中所述第二中間文件包含與所述密鑰碼相對應的密鑰;將每個加密SWF文件發送至所述客戶端。通過對多個源SWF文件進行批量加密,大大提高了加密效率,且無需下載加密軟件,節約了客戶端的硬盤空間。
文檔編號G06F21/10GK103226673SQ201310120678
公開日2013年7月31日 申請日期2013年4月9日 優先權日2013年4月9日
發明者程思敏 申請人:四三九九網絡股份有限公司