任何人都可以帮助我确保我的 Documents 目录的内容安全吗?
5 回答
采用:
- (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)mask error:(NSError **)errorPtr
使用文件保护选项之一:
NSDataWritingFileProtectionComplete (iOS 4.0)
NSDataWritingFileProtectionCompleteUnlessOpen (iOS 5.0)
NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication (iOS 5.0)
请参阅:Apple 文档
NSDataWritingFileProtectionComplete
在这种情况下,文件以加密格式存储,并且只能在设备解锁时读取或写入。在所有其他时间,尝试读取和写入文件都会导致失败。
注意:进行自己的加密会引发密钥存储问题,最好的答案是使用钥匙串。密钥处理是最大的问题,而 NSData 方法可以解决这个问题。
我们无法保护文档目录中的文件。我们可以将文件存储在设备的临时文件夹中。任何人都无法访问此内容
使用加密和解密在 iphone 上制作和读取这些文件 从这里获取一个想法http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html
Alan Quatermain 提供了一个工具包,其中包含一些有用的密码库包装器,使加密/解密变得非常简单。
这是链接:
无论您做什么,只要确保您不会将文档存储在未加密的设备上,即使是很短的时间。始终加密存储。在内存中执行任何加密操作。
确保对于您不缓存的任何文件操作。因此,例如,您要确保没有数据临时写入磁盘的任何下载等。
最后,对于您的加密文档,不要以任何格式将密钥存储在设备上。也不要将其存储在钥匙串上。
尝试加密内容。看看 Cocoa / Cocoa Touch 的强加密