关于iOS HTML安全的简单策略--上卷

这篇博客探讨了在iOS应用中保护HTML文件的安全策略,包括两种加密和解密方法:A方案是运行时解密后加载到WebView,B方案是对WebView扩展解密功能。文章还介绍了加密算法的种类,如哈希、对称加密和非对称加密,并以AES的CBC模式为例展示了加密过程。最后,博主创建了一个Objective-C工具工程QYJKeyChainTool来处理文件加密解密,利用沙盒机制提高安全性。
摘要由CSDN通过智能技术生成
最近入职一家新公司,上半年的时间都在漂泊,一直在试用期内,忙得不可开胶。新公司是做hybird开发的,HTML和原生开发。说是之前单纯使用HTML的用户体验比较差,就换了成hybird,我也就是这个时间节点入职了。忙了一段时间,终于到收尾的时刻。之前,用的是APICloud提供的解决方案,打包都是在APICloud上,平台上会将HTML,JS,CSS文件进行压缩加密,采用hybird的方案,Xcode就不会帮你加密压缩HTML相关的文件和代码,这么一来,只要下载你的ipa就能拿到你的HTML代码,很多时候HTML只是负责显示而已,没有掺杂太多的业务在里面,但是为了便捷开发,很多业务逻辑都沿用了之前的工程里面的代码,这么一来就很有必要做一个加密的处理。
首先需要明确的是,加密不是绝对的保密,加密仅仅是提高了别人获取原始代码的门槛,不让人轻易地拿到你的代码。
在开始撸代码之前,先要明确一个概念:什么是越狱?
为什么要了解什么是越狱呢?很多人都认为越狱的设备,就会移除沙盒的机制。其实,沙盒的机制依然存在,这是苹果最引以为傲的机制。沙盒也不是绝对安全的,越狱之后,开发者获取到访问/var/stash/Applications/,通过遍历去获取(因为暂时没有找到合适的设备,我没有实际去验证,这是网上普遍的说法),有兴趣的童鞋可以去了解一下,这里贴一个知乎的帖子,就当抛砖引玉了点击打开链接
  • A方案,整体思路是在工程里面放一个加密过的HMTL文件,然后在运行的时候,拷贝到沙盒里面,然后进行解密,解密完了再提给WebView去调用。(延伸的做法,使用APP进入前台就解密,APP进入后台就清除解密文件)
  • B方案,整体思路是在工程里面放一个加密过的HMTL文件,然后在运行的时候,拷贝到沙盒里面,然后对webView进行一个扩展,等到去加载页面之前去解码。(延伸做法,解密之后使用loadData:MIMEType:textEncodingName:baseURL类似的方式去加载)
这一篇,博客先来剖析方案A。

大体流程如下图:

了解的大体的思路之后,我们就开始谈一下,加密的方案。

在日常开发中,我们或多或少都会接触到数据安全,提到数据安全,就想到了数据加密这一块。

加密算法有三大类,密码学中演变过来的。第一类,哈希(散列)算法;第二类,对称加密算法&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值