首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在保存和读取文件(.pdf,.txt)时加密/解密( NSDocumentDirectory )

如何在保存和读取文件(.pdf,.txt)时加密/解密( NSDocumentDirectory )
EN

Stack Overflow用户
提问于 2021-07-16 04:30:45
回答 1查看 197关注 0票数 0

我目前正在iOS设备上保存一个PDF文件。我不希望人们能够进入和读取内容,所以我需要能够加密的文件在写入和解密时,再次加载回来。

我目前正在像这样保存文件。我正在从服务中得到一个包含pdf内容和密码的UIDocumentInteractionController字符串,我所做的是转换为NSData并保存到NSDocumentDirectory,我使用该文件路径打开NSData,同时打开pdf,我在UIDocumentInteractionController中得到一个密码提示,并按预期工作:

代码语言:javascript
复制
 NSData *pdf = [[NSData alloc]initWithBase64EncodedString:baseText options:0];
 NSString *documnet = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
 NSString *filebaseURL = [[NSString alloc]initWithString:[documnet stringByAppendingPathComponent:@"samplemade.pdf"]];
 [pdf writeToFile: filebaseURL atomically:YES];

为了获得额外的安全性,我想要的是在存储在中的NSDocumentDirectory时加密PDF,然后在UIDocumentInteraction控制器中显示它时解密它。怎么做?

我从这个链接FileProtection中得到了一个使用File Protection选项的建议,但这只能在设备被锁定时进行保护。相反,我想以加密的格式存储这个PDF,在我的应用程序中显示这个PDF时,我应该解密它。我正在使用UIDocumentInteractionController。知道怎么做吗?我想要的是在存储在NSDocumentDirectory中时加密PDF,然后当我想在UIDocumentInteraction控制器中显示它时解密它。

EN

回答 1

Stack Overflow用户

发布于 2021-07-16 07:41:42

在我的实践中,不能使用writeToFile方法生成pdf。如果您需要生成一个pdf,您需要用Core 编写它,您可以在创建密码时设置密码,并使用UIDocumentInteractionController读取simple.pdf方法interactionControllerWithURL:不需要密码,如果需要使用密码,则需要使用PDFDocument打开或其他方法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68403441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档