2012-08-01 83 views
0

我有一款應用程序可以從我們的網絡服務器下載MP3文件,並將它們暫時存儲在NSData對象中。然後將該對象寫入存儲到應用程序沙箱中的/ Library/Cache文件夾中的.mp3文件。如何在iOS中加密mp3文件

當需要播放的文件,我把它加載到AVPlayerItem像這樣:

NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] 
          stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp3", trackID]]; 

    NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath]; 
    self.trackPlayerItem = [[AVPlayerItem alloc] initWithURL:fileURL]; 

我想繼續這個項目加載到AVPlayer和播放。

所以我的主要問題是:我如何加密這些MP3文件,而他們存儲在磁盤上,以確保他們不能被任何人用Jailbroken設備從文件系統中撥出?

我已經看過堆棧溢出,但找不到任何幫助。

希望有人能幫助我。謝謝

+1

你甚至不需要越獄文件可以訪問。查看http://www.macroplant.com/iexplorer只有一個應用程序,允許這一點。 – 2012-08-01 17:51:32

回答

2

檢查出this thread加入RSA加密/解密到NSData

+0

感謝您的鏈接。我會如何去加密.MP3文件?加密下載的NSData,將NSData保存到緩存的磁盤上,只在需要時解密並重新保存爲MP3文件? – 2012-08-01 17:25:45

+1

@KiranPanesar你的mp3文件只是一個'NSFile',所以當用' - (BOOL)createFileAtPath:(NSString *)路徑內容:(NSData *)內容屬性:(NSDictionary *)屬性'創建它時,使用加密的NSData '的內容。在播放加載文件時,使用'[NSData dataWithContentsOfFile:mp3FileName];'來檢索數據並在播放之前將其解密。 – 2012-08-01 17:38:55

+0

得到加密和解密工作 - 謝謝。但是因爲我正在將軌道加載到AVPlayerItem中,你有沒有想過如何將一個NSData對象加載到AVPlayerItem中? – 2012-08-02 11:21:19