【发布时间】:2017-02-18 10:44:31
【问题描述】:
我有一个应用程序可以下载几个 pdf 和图像并将它们保存在 Documents 目录中。我需要每个尝试通过 iExplorer 等工具访问它们的人保护这些文件。我找到了 iOS 安全指南并启用了 Data Protection 功能。然后我尝试以这种方式创建一个txt文件:
let documentsPath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first!
let filePath = documentsPath + "/hello.txt"
FileManager.default.createFile(atPath: filePath, contents: Data.init(base64Encoded: "HELLOOOOOOOO"), attributes: [kCFURLFileProtectionKey as String: FileProtectionType.complete])
然后,我尝试使用 iExplorer 访问 txt 文件,并且能够像访问任何其他不受保护的文件一样进行访问。我确实让我的 iPhone 解锁并锁定,等待了 5 分钟。这些文件可以毫无问题地访问。我真的需要知道是否有办法让它们无法访问,至少在设备被锁定时是这样。
我正在考虑的另一个解决方案是使用自定义算法加密 Documents 文件夹中的文件,但是这样在大文件的情况下,我们会失去打开文件的速度,因为每次我们需要解密它,这需要取决于文件本身大小的时间量。
建议?
【问题讨论】:
标签: ios swift security encryption