2010-04-01 129 views
0

是否有可能對flv視頻進行散列以使其本身無法播放,並且格式無法通過軟件識別,但我實際上可以對它們進行散列處理並播放到我的as3腳本中?AS3和哈希

這將在CD上實現,所以我不能使用服務器腳本。

+2

但是,請記住,swf文件可以反編譯顯示密鑰的散列。 – ALOToverflow 2010-04-01 13:53:54

回答

1

不,你不能。不與flv。但是,您可以將視頻嵌入swf並加密SWF。但請注意,使用強大的視頻數據加密可能會導致性能問題。無論如何:你可以將load the binary data轉換成ByteArray,執行解密然後load the SWF from the ByteArray

+0

謝謝我決定不加密,此刻毫無用處 – gok 2010-04-02 11:00:50

0

我假設你的意思是你想在應用程序中「實時」執行此操作。

如果是這樣,有兩個問題與:

  1. ,你將不得不解密軟件自定義的視頻,所以它要運行很慢。取決於最終用戶的計算機,這是不可預測的。

  2. 正如前面提到的ALOToverflow,你的哈希算法的關鍵在於你的.swf,它可以被簡單地反編譯來揭示它。

假設你正在使用AS3與Adobe AIR你可能運用戶以「破」 FLV的,然後簡單地修理他們試圖發揮他們回來。

根據視頻的分辨率和長度,這可能是一個可行的選擇。

(您想使用FileStream類此。)http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/FileStream.html

FLV的全部以一個標準的頭,所以你可以通過只打破了頭,後來又對其進行修復開始。 (我說的是用二進制代碼順帶弄髒和骯髒) http://en.wikipedia.org/wiki/Flash_Video

0

我創建了一個類似的項目一次。 這就是我所做的:

我以某種方式加密視頻,不管怎麼樣,把它們放到一個單一的大文件。 批量數據文件。然後,我從瀏覽器運行swf,而不是從瀏覽器運行,而是從JAVA應用程序運行它,它可以比Adobe swf解釋器更快地解密批量視頻文件。 在Java應用程序中,我將解密後的視頻作爲參數傳遞給swf。 使用Java是很好的,因爲所有的客戶端都可以打開它。 Mac用戶,Windows用戶,任何人。可以用C++來完成,但這會限制你的用戶基數。

體面的知識講座

中任何人都可以反向工程的加密過程,但它是更難獲得從Java編譯軟件加密,不是從AS3瑞士法郎。

使用Blowfish,Twofish或DES。不要使用RSA,它很慢。 您必須使Java應用程序非常快速且簡單,因此建議不要使用外部加密庫。