我有一个iOS应用程序,它将所有下载的*.pdf
文件存储在其缓存中。有没有办法阻止这些数据被提取?加密或其他东西?提前致谢。阻止应用程序缓存提取iOS上的文件
0
A
回答
1
您可以用密码保护PDF文件。我假设你创建的PDF文件不在应用程序内,但在外部。例如,您可以在Mac OS X中使用Preview.app以保护现有PDF文件的密码(点击Cmd-P,然后在打印菜单中选择PDF并在那里设置安全选项,或者更简单:在该菜单选择导出...)。
在iOS中,你就可以打开PDF文件是这样的:
CGPDFDocumentRef documentRef = CGPDFDocumentCreateWithURL((__bridge CFURLRef)[NSURL fileURLWithPath:filePath]);
if (!CGPDFDocumentIsUnlocked(documentRef))
CGPDFDocumentUnlockWithPassword(documentRef, password);
...
2
加密文件的方法有很多,我相信每个人都会对最好的方式有一个意见。
在我最近一直在研究的项目中,我们一直在使用CommonCrypto(https://github.com/AlanQuatermain/aqtoolkit)。只需拿任何NSData,加密它,并将其保存到一个文件,反之亦然。你甚至可以通过继承NSValueTransformer来编写一个简单的Transformer,它将所有的加密抽象为一个地方,你永远不必再担心它。
0
实际上有在您的应用程序可以存储内容2的文档文件夹。一个可以提取,一个是私有的。检查票证中的接受答案。
Access files in "private Documents" folder transferred with iTunes
0
假设你想从越狱的设备越来越提取PDF文件,最直接的方法是大意如下:
- 首批推出的过程中生成一个随机字符串应用程序
- 将随机字符串保存在您自己应用程序的沙箱中的状态文件中
NSUserDefaults
- 使用此随机字符串使用确定性但很难找出算法
- 使用这个密钥,你不存储在任何地方,但始终按需生成,对称加密与AES或类似的东西你的缓冲区
你可能会找到源代码here很有帮助。
相关问题
- 1. 阻止小程序缓存下载的文件
- 2. 阻止上传(iOS上的Web应用程序)
- 3. 阻止require.js缓存文本文件?
- 4. 缓存活动是否阻止IIS卸载ASP.NET应用程序?
- 5. ios:缓存应用程序文件夹中的图像
- 6. iOS是否删除应用程序的缓存文件?
- 7. 阻止VirtualBox访客提供缓存文件
- 8. 当应用程序被删除时删除缓存文件ios
- 9. Mapbox缓存在iOS应用程序
- 10. 防止Tomcat6缓存应用程序
- 11. 阻止应用程序
- 12. iOS应用程序中的重复JSON文件阻止了应用程序的构建
- 13. iOS上传文件从应用程序
- 14. iOS阻止应用切换
- 15. 阻止Facebook缓存静态fbml选项卡应用程序中的图像
- 16. 如果正在更新应用程序缓存,请阻止Ajax调用
- 17. 阻止文件获取来自用户或任何应用程序的写入
- 18. 从我的应用程序中阻止/取消阻止某个应用程序:Android
- 19. 如何从iOS上的Cordova 2.2.0应用程序获取文件
- 20. 如何在Windows上远程阻止和解除阻止任何应用程序
- 21. 阻止iOS和Android应用程序的授权
- 22. 将连接javascript文件阻止单个文件缓存?
- 23. 阻止表单缓存
- 24. 阻止缓存支持
- 25. 如何阻止FLEX缓存?
- 26. 通知用户防火墙阻止了iOS应用程序
- 27. SQLite缓存与应用程序缓存
- 28. DownloadFileAsync阻止我的应用程序
- 29. 阻止显示的Excel应用程序
- 30. 阻止盗版应用程序的人