使用 UIWebView 查看加密数据

Posted

技术标签:

【中文标题】使用 UIWebView 查看加密数据【英文标题】:Viewing encrypted data with UIWebView 【发布时间】:2012-01-31 11:47:11 【问题描述】:

我正在制作一个文件浏览器(适用于 UIWebView 可打开的任何文件类型 - 图像、电影、音频、文本、单词...),它处理加密文件

问题是,我现在的目标是解密我想要查看的文件并将其加载到 webview 请求中

NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];  
[self.webView loadRequest: request];

但是问题是文件被提取到磁盘上,要读取...

问题是,有人可以恢复已删除的文件

所以我尝试使用

[webView loadData:documentData MIMEType:mimeType textEncodingName:textEncoding baseURL:baseDocumentURL];
问题是,我无法找出正确的 textEncoding(大多数 utf-8 适用于图像和简单文本),但更大的问题是,我无法播放音频和视频可能由于请求未从文件加载

有处理这种情况的好办法吗?

【问题讨论】:

【参考方案1】:

我知道这是一个旧线程,但是,您可以使用 NSURLProtocol 动态处理数据解密。关于观看视频,您需要自己实现许多其他协议。

【讨论】:

【参考方案2】:

您使用loadData 传递的 NSData 类是一个不需要编码的字节类,因为它可以处理各种数据。因此,如果您的解密提供未编码的数据,您可以将nil 传递给textEncoding,它应该可以正常工作。文本编码只是在(字节)数据中存储特定符号的数据定义。如果您从 UTF-8 源获取数据,那么 textEncoding 可以更轻松地处理此问题。

【讨论】:

以上是关于使用 UIWebView 查看加密数据的主要内容,如果未能解决你的问题,请参考以下文章

使用手势将图像从 UIWebView 保存到相机胶卷

从 appdelegate swift 访问 UIwebview

将 UIWebView 上的 ScreenEdgePanGesture 传递给父 PageViewController

iPhone - 如何防止 UIWebView 绘制/更新其内容

在 iPhone 6 Plus 上关闭 UISplitViewController 弹出框时 UIWebView 被拉伸

提供 html 文件预览的轮播 [关闭]