对称加密
就是 Client 和 Server 两边拥有相同的秘钥,两边都知道如何将密文加密解密,但一旦秘钥被截获就没有加密的意义的。
非对称加密
首先 Server 将公钥公布出去,那么 Client 也就知道公钥是什么了。接下来 Client 使用 公钥 创建一个秘文,然后发送给 Server,Server 接收到密文以后通过 私钥 解密秘文(记住,通过公钥加密的密文,只能被私钥解密,公私钥是一一对应的,不能单独存在的),这时候两端就都知道密文的内容是什么了。
混合加密
- 加密步骤(发送消息)
- 首先,Server 发送公钥给 Client
- Client 随机生成 会话密钥,使用 会话密钥 加密消息
- Client 使用 公钥 加密 会话密钥
- Client 将前 2 步生成的 加密结果(加密后的会话密钥、加密消息),一并发给 Server
- 解密步骤(收到消息)
- Server 用自己的 私钥 解密 加密后的会话密钥,生成 会话密钥
- 再用第 1 步解密出来的 会话密钥,解密消息