没接触过IOS开发,有个技术问题请各位帮忙。比如要用webview加载一张图片,目前webview内部提供的方法是传入资源的url,但这张图片是经过加密处理的,这就需要在传入之前进行解密,同时为了保证数据安全禁止解密后的资源文件明文保存,所以不能直接利用目前方法传入url,有没有接收类似“文件数据流”的加载方法,或者其他的技术手段?

解决方案 »

  1.   

    可以异步下载下来,得到一个NSData,然后解密,然后再显示在webview中。
      

  2.   

    先不用理会下载,加密资源本地保存,楼上能具体说下“解密”->“显示在webview”中间的细节吗?比如,可调用接口、是否需要数据类型转换啥的?
      

  3.   

    解密算法你自己要清楚
    NSData相当于一个二进制的数组,直接用算法解密就可以了生成图片的明文数据了。
    UIImage类中有几个函数可以由NSData来生成UIImage。
    有了UIImage对象,至于显示就不用说了吧
      

  4.   

    我对你需求的理解是图片的数据加密。
    如果是其他的,比如访问URL加密等,我的思路就不对了
      

  5.   

    to ybh37:
    我没说清楚,webview要加载的是一个网页,网页内引用的资源的里有加密图片,说到底就是webview最终的渲染接口有没有方法调到。
      

  6.   

    还是感觉有点头大,去年做过一个iPad的浏览器,对webview有点了解……
    想知道,LZ说的 加密图片,如果直接访问对应的URL,能否下载到本地?
    如果能拿到图片数据(哪怕是加密过的),而且我们知道解密算法的前提下,应该很简单的问题。大不了把html文件也下载到本地,然后用js换img的scr,再加载到webview。如果是所谓的图片防盗连、URL字符加密等技术防止下载,就另想办法了。明白我的意思吗?
      

  7.   

    我没做ios开发,现在也是赶鸭子上架,本地可以完成解密,但解密后的图片禁止本地保存,所以不能直接给webview传入url,只能操作解密后的内存数组。不能以任何形式保存图片,要么还加密干什么啊?我本地可见的数据为:
    1、html文件;
    2、js脚本;
    3、加密过资源文件,供网页显示用;你说的“js换img的scr”具体是什么意思?我明白你的意思了,好像你还没明白我的意思啊,哈~
      

  8.   

    呵呵,不好意思,我打错了,scr应该是src
    如:
    img class="logo" alt="" src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif"
    把pic_logo.gif下载到本地后,要对应的把src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif"替换为本地的路径。
    看明白意思后就有的放矢了……解密后的图片本地不允许保存的话,相对要麻烦一点………一下内容不显示了…居然提示我非法字符,我给你站内留言了,请查收。