iOS加解密基础

一般在iOS开发中,用到加解密的场景主要是网络传输,比如会在httpheader里面加一个sign字段,填的就是MD5只。另外就是登陆注册模块,用户名和密码的存储和传输,总不能用明文吧?(现实中很多就是明文直接传的)
在实际开发过程中,加解密算法,具体怎么做,一般都是后台定的,iOS客户端只是做配合。
总之就是,加解密在iOS客户端开发过程中占得比例很小,并且往往只是配合的角色。
虽然不重要,但是不可缺少,一些基础知识还是要了解的。

非对称加密

  • 常用算法是RSADSA、ECC什么的据说也是,没用过

  • 苹果市场的证书管理,这个繁琐过程基本都遇到过,这个就是非常典型的场景

iOS 基础:证书介绍

漫谈iOS程序的证书和签名机制

  • AFNetworking使用自定义私有证书的方案。不过这样用的人很少,基本上是不用证书验证的。本人接触过的四五个App,只有一个是这么做的。

公钥与私钥这篇文章写得非常好,理解非对称加密的原理讲得很清晰

(1)一般会把“私有证书”,(.cer文件),直接打包在iOS客户端,这里包含公钥;私钥保存在服务端;
(2)用“私有证书”中的公钥解密,拿到信息的摘要;
(3)对信息进行本地摘要计算
(4)比较两个摘要是否一直,对收到的信息进行验证。

对称加密

  • 常用算法是AES、DES、3DESDES在实际的项目中遇到过

  • 经历过的使用场景是热更新,将JSPatch接入工程;

  • 热更新文件是代码,所以需要加密,加解密用的key直接写在客户端。

  • 由于要存文件,所以要引入Base64编码,(不是加密,也不是摘要)。

摘要

  • 常用算法是MD5、SHA、HMAC;其中MD5用的最多

  • 几乎每个项目都用到了MD5,有些还有直接写在客户端的key,应该是所谓的“加盐”。固定的只是“盐”的一部分,一般还会配上时间戳,而这个时间戳会在httpheader的另外一个字段传过去。

浅谈MD5加密算法中的加盐值(SALT)

参考文章

iOS - 加解密(对称,非对称)(AES DES base64这里都有),数字签名,cookie

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 随着对于安全度的不断要求,对于数据加解密与破解之间的斗争,加解密的方式也在不断发生着变化,来看看现在流行的一些加解...
    zhouhao_180阅读 2,171评论 1 12
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 11,625评论 5 29
  • 首先罗列一些知识点: 1.加密算法通常分为对称性加密算法和非对称性加密算法:对于对称性加密算法,信息接收双方都需事...
    JonesCxy阅读 1,477评论 2 4
  • 这篇文章不是研究性的东西,主要是简单的一些知识, 开篇如此, 我尽量不让读者失望。 首先罗列一些知识点:1.加密算...
    SOI阅读 7,397评论 3 70
  • 今天立春。 立春,在唐朝,那可是个大日子。 立是开始的意思,立春就是春季的开始。 立春,是一年二十四节气之首。农谚...
    章雪峰阅读 1,112评论 0 7