前言
常见的加密有三个大类:
1:非对称加密
2:哈希(散列)函数
3:对称加密
一、非对称加密
- 常用的--RSA
上世纪70年代出现的伟大加密算法 - 特点:算法公开,公钥私钥是成对的
公钥加密,私钥解密;
私钥加密,公钥解密;
加解密耗费时间长, 效率较低,一般用来加密小型数据 - 应用
iOS证书验证,iOSAPP安装验证是否被篡改
二、哈希(散列)函数
--MD5
--SHA1\256\512
--HMAC
- 特点:
--算法公开
--同样的数据加密得到的结果一样
--对不同的数据加密,得到的结果是定长的32位字符串
--信息摘要(也叫信息“指纹”)
--不能反算 - 应用:
--密码加密
1、加盐处理,每一个账号对应一个盐,再注册的时候生成,保存到本地,登陆的时候判断本地是否有盐,没有去服务器拿
2、防止模拟登陆,在登陆参数加上时间戳,限制访问的时效性
--搜索引擎
--文件识别
识别哈希值来判断文件是否一样
三、对称加密算法
DES
--数据加密标准,速度较快,适用于加密大量数据的场合;3DES
--是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高,速度较慢AES(高级密码标准)
--速度快,安全级别高,资源消耗低
应用
iOSAPP加壳,运行的时候去壳
四、对称加密算法和非对称加密算法比较
- 对称算法
---密钥管理比较难,不适合互联网,一般用于内部系统;
---安全性中;
---速度快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理; - 非对称算法
---密钥容易管理;
---安全性高;
---速度慢,适合小数据量加解密或数据签名;