2012-04-10 46 views

回答

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

假設你想從越獄的設備越來越提取PDF文件,最直接的方法是大意如下:

  • 首批推出的過程中生成一個隨機字符串應用程序
  • 將隨機字符串保存在您自己應用程序的沙箱中的狀態文件中NSUserDefaults
  • 使用此隨機字符串使用確定性但很難找出算法
  • 使用這個密鑰,你不存儲在任何地方,但始終按需生成,對稱加密與AES或類似的東西你的緩衝區

你可能會找到源代碼here很有幫助。