建议多把玩几遍文章,才能完全理解加解密原理;
面对面试官提问的时候,才能得心应手
加密知识
加密方式
单项加密
也叫做不可逆加密,对明文加密产品一个秘文,无法再逆向解密;
特点:
- 不可逆
- 同一明文加密,秘文必然相同
常见加密方式:
- MD5
- SHA:其中又分为 sha192、sha256
对称加密
用一个密钥,既可以使用密钥加密,也可使使用密钥解密
特点:
- 加解密使用同一个密钥
- 加解密速度快
常见加密方式:
- DES
- 3DES
- AES
非对称加密
与对称加密相反,使用两个密钥(公钥和私钥)进行加解密,
既可以使用公钥加密私钥解密,也可以使用私钥加密公钥解密
特点
- 使用两把密钥进行加解密
- 公钥加密私钥加密 或 私钥加密公钥解密
- 加解密速度慢
- 公钥私钥成对出现
常见加密方式:
- RSA:平时最常用
- DSA
总结
单向加密:不可以,每个明文产生唯一个秘文,明文发生变化,秘文必不相同
对称加密:加解密使用同一把密钥,速度快
非对称加密:使用公钥和私钥加解密,公钥加密私钥加密 或 私钥加密公钥解密,速度慢;公钥即可以公开的、私钥即自己保留的
举个栗子
假设有这样一个需求:小明和小花需要通信,少男少女写情书嘛,肯定不想让别人看到,所以需要安全的通信。
问题一:小明如何安全的把内容传给小花?
毫无疑问:通信内容加密就可以了
问题二:使用哪种加密方式加密呢?
单向加密不适用,因为无法解密
对称加密:可以,小明加密、小花解密
非对称加密:可以,小明私钥加密,小花公钥解密
问题三:对称加密&非对称加密,到底使用哪种呢?
对称加密速度快,非对称加密速度慢,对于聊天这种频繁交互,当然是对称加密更好,小明使用密钥
摘自:https://mp.weixin.qq.com/s/e4s6TuMJYMbBAv5bpqR79A