是的,我知道这个问题有点含糊不清......
我在磁盘上有一个 PDF 文件,它是加密的(AES-256,使用 CommonCrypto/OpenSSL)。 我想使用 Quartz 的 CGPDF... 函数呈现 PDF,并发现可以使用 CGDataProvider 创建 CGPDFDocument。
我想知道是否可以为 CGDataProvider 创建回调,以解密和仅加载内存中 Quartz 的 PDF 渲染器需要的 block 。从安全/隐私的角度来看,我宁愿不将解密的文件写入磁盘。
有什么想法吗?
希望我可以根据 stackoverflow 社区的输入开始“开明的”试错:)
最佳答案
如果它足够小,您可以将它保存在 NSData 中 - 即时解密并将其存储在内存中。如果它更大,事情就更困难了。最终,人们还可以解密您的二进制文件并从中提取 AES key 。
PDF 的密码保护可能会增加一个小 安全层,但它也很容易绕过。
关于ios - 如何使用 Quartz 以 mmap() 方式对加密的 (AES-256) PDF 文件进行 "load"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720736/