加密一般分为对称和非对称,大部分是混合的,比如SSL的加密流程是:
- 客户端将自己的加密支持规则给到服务端
- 服务端根据自己的加密规范发给客户端证书-这个证书包含公钥
- 客户端校验证书合法性,并生成随机字符串并用公钥加密发送给服务端
- 服务端用私钥解密并验证字符串合法性,并将随机字符串作为秘钥进行对称加密
- 之后双方通过随机字符串进行对称加密通讯
总结:
SSL的原理用非对称RSA进行秘钥加密,随后的通讯使用对称加密通讯,我们日常开发中可以借鉴这种思路,进行一些加密传输,比如生成随机字符串的方式可以是以一定时间戳或者双方约定的字符串生成逻辑