如何在 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 文件的主要内容,如果未能解决你的问题,请参考以下文章