2012-04-10 51 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很有帮助。