如何在 iOS 中加密 mp3 文件

Posted

技术标签:

【中文标题】如何在 iOS 中加密 mp3 文件【英文标题】:How to Encrypt mp3 Files in iOS 【发布时间】: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,只需要一个允许这样做的应用程序。 【参考方案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 发布了一个新问题,它可能对其他人有用。 好主意。这是链接:***.com/questions/11780455/…

以上是关于如何在 iOS 中加密 mp3 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在某种数据库中拥有 mp3 文件并在 ios 中访问?

使用 JAVA 加密和乱码音频文件

如何在 iOS 中获取现有 MP3 或 AAC 的比特率?

音频格式文件加密

在 iOS 应用程序中播放 mp3 文件 [重复]

如何从 iOS 设备的 iPod 库中导出 mp3 文件?