1 对称加密和非对称加密介绍和区别
https://www.cnblogs.com/labimeilexin/p/7350448.html
对称加密优缺点
优缺点:
算法公开,计算量小,加密速度快,加密效率高
双方使用相同的钥匙,安全性得不到保证
注意事项:
密钥的保密工作非常重要
密钥要求定期更换
2 hash 与 md5的关系
https://blog.csdn.net/shsalex/article/details/52300515
1.二者均是多对一的数据加密模式。(也就是说将一定量的数据加密成一个固定长度的数据)
2.二者的加密方式均为单向加密,也就是加密不可逆。
3.二者多用于数据加密和文件以及数据的完整性验证
不同处:
1.MD5目前存在很大的安全隐患,通过一些方法可以将MD5暴力破解,同样对于SHA1的算法现在同样存在这样的问题。
2.SHA2算法由于相对于SHA1来说,加密数据位数的上升大大增加了破解的难度,使得安全性能要远远高于MD5
SHA-1是160位散列。SHA-2实际上是哈希的“家族”,有各种长度,最受欢迎的是256位。
MD5加密的特点:
不可逆运算
对不同的数据加密的结果是定长的32位字符(不管文件多大都一样)
对相同的数据加密,得到的结果是一样的(也就是复制)。
抗修改性 : 信息“指纹”,对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别.
弱抗碰撞 : 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的.
强抗碰撞: 想找到两个不同数据,使他们具有相同的 MD5 值,是非常困难的
提升MD5加密安全性,有两个解决办法
1. 加"盐"(佐料)
2. HMAC:给定一个"秘钥",对明文进行加密,并且做"两次散列"!-> 得到的结果,还是 32 个字符
对称加密:
AES对称加密
https://www.jianshu.com/p/fcc6b1acf1c8
2 iOS 常用加密介绍(含RSA非对称加密)