iOS加解密基础

作者: 勇往直前888 | 来源:发表于2017-06-12 12:11 被阅读75次

一般在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

相关文章

  • iOS Android DES加解密一致性问题

    iOS Android DES加解密一致性问题 iOS DES 加解密 Android DES加解密 iOS中支持...

  • iOS加解密基础

    一般在iOS开发中,用到加解密的场景主要是网络传输,比如会在http的header里面加一个sign字段,填的就是...

  • iOS加解密原理 && 签名机制

    # iOS加解密原理 && 签名机制 ## 一. 学习路线 1. ####了解加解密 a . 对称加...

  • iOS - AES加解密 代码记录备忘

    AES加解密 在线AES加解密验证[http://tool.chacuo.net/cryptaes/] IOS项目...

  • URL加解密

    URL加解密 背景介绍 iOS 下URL加解密,项目使用AFNetworking 虽然是使用HTTPS,但是从安全...

  • Objective-C AES 加解密

    iOS AES加解密 hexToByte parseByteToHexString md5 AESEncrypt ...

  • 加解密算法

    本文主要是了解加解密的基础知识,首先我们了解什么是加解密及分类,然后我们谈到加解密的系统组成,接着我们看对称加密...

  • iOS 非对称加密-RSA

    通过 Security.framework 实现 RSA 加解密 Security API iOS 上 Secur...

  • iOS 加解密

    示例代码 MD5加密 MD5加密的特点: 不可逆运算 对不同的数据加密的结果是定长的32位字符(不管文件多大都一样...

  • java 使用Cipher默认加密,ios aes AES/EC

    java加解密(java默认不支持PKCS7Padding): ios AES/ECB/PKCS5Padding ...

网友评论

    本文标题:iOS加解密基础

    本文链接:https://www.haomeiwen.com/subject/pvclqxtx.html