2011-12-05 70 views
0

我想提出的是下載到的文件目錄中的視頻,並與扮演的MPMoviePlayerController他們的應用程序。爲了幫助阻止視頻從設備中移除並播放,我將混淆文件名稱。假設我想在真實文件擴展名爲「mov」時播放標有「movie.blah」的電影。我如何得到這個遊戲?我是否必須暫時將其重命名爲「movie.mov」,然後在完成播放後將其更改回去?謝謝你的幫助。如何播放帶有隱藏文件名的文件?

+0

路不好走。對於安全來說,模糊處理就相當於使用saran包裹衣服 - 一切仍然可見。使用處理程序腳本來決定是否可以提供文件,並僅通過此腳本爲您的電影提供訪問。 –

回答

1

正如馬克B所示,你不希望使用模糊的安全。這是一種可行的方法。開銷很小(28字節)。

  1. 定義您自己的可以嵌入標準.mov文件的包裝文件格式。使用固定長度的頭部和指示嵌入的電影文件長度的參數可以非常簡單。

  2. 在您的自定義文件格式,使用AES和設備硬件的唯一密鑰(CPU序列號也許)加密的數據流。

  3. 在播放過程中只需將文件進行解碼,以按需在內存中的緩衝液中。您應該能夠支持部分解密和即時播放。

這樣,用戶將不得不復制文件並確定您用於加密密鑰的內容,以便在其他設備上播放該文件。

佈局示例:

------------------ 
MOV Wrapper Header 
4 bytes: File Type Header ID Magic: "MWHF" 
16 bytes: Encryption Algorithm: "AES256" 
8 bytes: 64-bit unsigned file length 
------------------ 
Embedded and encrypted mov file 

的鍵固定該文件將加密密鑰的選擇。您不想使用靜態密鑰,也不想使用可在設備外訪問的密鑰。

這個問題可能與尋找合適的UUID幫助:iPhone/iPad user profile tracking

+0

感謝您的幫助,Will。我要研究加密。 –

0

如何存儲,當你與iTunes同步沒有得到備份的目錄中的視頻?我認爲圖書館/緩存符合資格。

+0

當需要磁盤空間時,Apple是否有任何有關清除該目錄的策略?似乎是一個「緩存」將驅逐一個很好的候選人,當你需要的磁盤空間... –

+0

我記得,如果設備運行的磁盤空間,iOS版刪除緩存文件。當磁盤空間不足時,可以再次下載的大視頻文件似乎可能成爲刪除的候選對象。 –