ios - 如何保护应用程序文档目录中的文件不被外部工具(iFunbox/iTools 等)读取

标签 ios iphone security

我想开发一个受照片保护的应用程序。首次启动时,它会强制用户输入密码,每次返回应用程序时,用户都必须再次输入相同的密码。用户在我的应用中拍照,我将照片存储在应用的文档目录中。

它运行良好,但有人可以通过 iFunbox 等外部工具访问应用程序文档中的内容,他们可以导出照片。所以我的应用程序不够安全。我考虑过可以在保存照片时使用ZipArchive用密码压缩照片,在想看照片时解压缩照片,但是压缩和解压缩会花费很多时间和电池,我认为这是这不是一个好主意。

有人可以给我一些建议吗?提前致谢。

最佳答案

您可以将 NSData writeToFile:options:error: 与选项 NSDataWritingFileProtectionComplete 一起使用,这将加密写入。这只会在 iOS 设备锁定时保护文件。

或者,您可以使用 CommonCrypto AES 自行加密文件并将 key 保存在钥匙串(keychain)中。

关于ios - 如何保护应用程序文档目录中的文件不被外部工具(iFunbox/iTools 等)读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21717432/

相关文章:

ios - TraitCollection.horizo​​ntalSizeClass 在 iOS 8.1 上报告紧凑,在 iOS 8.4 和 9.x 上报告常规

ios - 遍历 TableViewCells 会跳过一些

iphone - map View 显示最近的位置

iphone - UITableViewCell 如何知道自己的indexPath?

java - 已签名的 JAR 被 Java 安全阻止

java - 如何使用 Java 从 url 流式传输音乐 - Android

iphone - 灰色 UISearchBar 以编程方式匹配范围栏

iphone - 为什么 mp4 视频在 iPad 上可以正常播放,而在 iPhone 上却不行?

security - 一个 AWS 账户上的 AWS 安全组可以引用另一个 AWS 账户上的安全组吗?

asp.net - 即使通过 ssl 在 ViewState 中存储信用卡和定价信息是否安全?