【问题标题】:How to Encrypt mp3 Files in iOS如何在 iOS 中加密 mp3 文件
【发布时间】:2012-08-01 17:08:06
【问题描述】:

我有一个应用程序可以从我们的网络服务器下载 MP3 文件并将它们暂时存储在 NSData 对象中。然后将此对象写入存储在应用沙箱中的 /Library/Cache 文件夹中的 .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 文件存储在磁盘上时对其进行加密,以确保它们不会被任何拥有越狱设备的人从文件系统中提取出来?

我已经查看了 Stack Overflow,但找不到任何有用的东西。

希望有人可以帮助我。谢谢

【问题讨论】:

  • 您甚至不需要越狱即可访问文件。查看macroplant.com/iexplorer,只需要一个允许这样做的应用程序。

标签: iphone ios cocoa-touch encryption avplayer


【解决方案1】:

查看this thread,了解将 RSA 加密/解密添加到 NSData

【讨论】:

  • 感谢您的链接。我将如何像这样加密 .MP3 文件?对下载的 NSData 进行加密,将 NSData 保存到磁盘进行缓存,仅在需要时解密并重新保存为 MP3?
  • @KiranPanesar 您的 mp3 文件只是一个 NSFile,因此在使用 - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)contents attributes:(NSDictionary *)attributes 创建它时,请使用加密的 NSData 作为内容。播放加载文件时,使用[NSData dataWithContentsOfFile:mp3FileName];取回数据并在播放前解密。
  • 加密和解密工作正常 - 谢谢。但是因为我正在将轨道加载到 AVPlayerItem 中,所以您知道如何将 NSData 对象加载到 AVPlayerItem 中吗?
  • @KiranPanesar 发布了一个新问题,它可能对其他人有用。
  • 好主意。这是链接:stackoverflow.com/questions/11780455/…
猜你喜欢
  • 2012-09-22
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多