对称加密(DES)
- 1.应用场景
- 1.1 本地数据加密(例如加密android 里SharedPreferences 里面的某些敏感数据)
- 1.2 网络传输:登录接口post 请求参数加密{username=lisi,pwd=oJYa4i9VASRoxVLh75wPCg==}
- 1.3 加密用户登录结果信息并序列化到本地磁盘
- 1.4 网页交互数据加密
- 2.总结
DES 安全度在现代已经不够高,后来又出现的3DES 算法强度提高了很多,但是其执行效率低下,AES算法加密强度大,执行效率高,使用简单,实际开发中建议选择AES 算法。
非对称加密(AES)
- 1.介绍
与对称加密算法不同,非对称加密算法需要两个秘钥:公钥(publicKey)和私钥(privateKey)。公钥和私是一对,如果公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,只有公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。简单理解为:加密和解密是不同的钥匙。 - 2.常见算法
RSA - 3.应用场景
- 3.1身份认证:一条加密信息若能用A 的公钥能解开,则该信息一定是用A 的私钥加密的,该能确定该用户是A。
- 3.2陌生人通信:A 和B 两个人互不认识,A 把自己的公钥发给B,B 也把自己的公钥发给A,则双方可以通过对方的公钥加密信息通信。C 虽然也能得到A、B 的公钥,但是他解不开密文。
- 4.总结
非对称加密一般不会单独拿来使用,他并不是为了取代对称加密而出现的,非对称加密速度比对称加密慢很多,极端情况下会慢1000 倍,所以一般不会用来加密大量数据,通常我们经常会将对称加密和非对称加密两种技术联合起来使用,例如用非对称加密来给对称加密里的秘钥进行加密(即秘钥交换)。
消息摘要(Message Digest)
- 1.常见算法
MD5,SHA - 2.应用场景
- 2.1 对用户密码进行md5 加密后保存到数据库里
- 2.2 软件下载站使用消息摘要计算文件指纹,防止被篡改
- 2.3 数字签名