我有一個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. 阻止盜版應用程序的人