ios – 存储解密文件的位置?

我正在加密下载的文件并将它们保存在app的文档目录中.

要阅读它们,您必须解密这些文件并暂时存储一些文件.

我担心的是:

1.如果我将它们存储在doc目录中一段时间​​它们被使用,那个时间窗口就可以使用像iExplorer这样的工具来获取这些文件.

2.我的想法是将它们存储在内存中以供使用时间,并在使用后冲洗保险库.
此选项适用于小文件,但对于大文件说50 MB或100 MB的视频,我担心应用程序将收到内存警告,结果将突然终止.

我想知道这样做的最佳方法.

解决方法

没有完美的安全性以安全的方式存储本地文件.如果一个人可以完全访问该设备,只要您的应用程序能够解密它,他总能找到解密文件方法.

唯一的问题是:解密文件需要多少努力?

如果你唯一关心的是一个人可以使用iExplorer来复制和打开这些文件,那么简单的本地对称加密就可以解决问题.

只需在应用程序中嵌入随机对称密钥,并在下载时逐块加密数据.

您可以使用舒适的“安全转换”框架来执行对称加密. Apple Documentation中有一些很好的例子.

加载文件时,可以使用相同的密钥在从文件系统加载文件时对其进行解密.

只是为了说清楚:这不是文件的完美保护.但要解密文件,可以访问您的应用程序二进制文件.在调试器中分析此二进制文件搜索解密部分以提取对称密钥.为解密文件需要付出很多努力.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...