简介

加密算法分 对称加密非对称加密,其中对称加密算法的加密与解密 使用同一个密钥,非对称加密算法的加密密钥与解密 使用两个密钥(公钥和私钥),此外,还有一类 不需要密钥散列算法

常见的 对称加密 算法主要有 DES3DESAES 等,常见的 非对称算法 主要有 RSADSA 等,散列算法 主要有 SHA-1MD5 等。

对称加密

对称加密算法(Symmetric-key algorithm) 又称 共享密钥加密算法。使用同一个密钥用来加密和解密。
在网络通信中 客户端服务器 端同时共享一个密钥。

优点

速度快,适合大数据量的加解密处理。

缺点

不安全,不适合互联网,如果在共享密钥的过程中密钥被拦截,则信息全部暴露。一般用户系统内部。

非对称加密

非对称加密算法(Asymmetric cryptography) 又称 公开密钥加密算法。使用两个密钥来加密和解密:公开密钥,即公钥。私有密钥,即私钥。
在网络通信中一般由 服务器 生成一对 公钥私钥 。私钥留给服务器,公钥发给客户端。
一般来说:公钥加密,私钥解密,用来加密。私钥加密,公钥解密,用来签名(或者说认证,认证消息是否来自服务器)。在这个过程中,即使信息泄露,第三方没有对应的密钥也无法从中获取信息。

优点

安全性高。

缺点

速度慢,适合小数据量加解密或数据签名。

参考链接

https://juejin.im/post/5b48b0d7e51d4519962ea383#comment
https://segmentfault.com/a/1190000012196642