对称加密指的就是加密和解密使用同一个秘钥,所以叫对称加密。 对称加密只有一个秘钥,作为私钥。
加密过程: 加密: 原文+密钥 = 密文 解密:密文-密钥 = 原文
常见的对称加密算法: DES, AES, 3DES等
特点: 优点 - 算法简单,加解密容易,效率高,执行快。 缺点 - 相对来说不安全,只有一把钥匙,密文如果被拦截,且密钥被劫持,那么信息很容易被破译。
非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。 公钥加密的信息,只有私钥才能解密。 私钥加密的信息,只有公钥才能解密。 常见的给对称加密: RSA,ECC
区别: 对称加密算法,加解密的效率要高很多。 但是缺陷在于对秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。 所以在实际的网络环境中,会将两者混合使用。
特点: 优点 - 安全,即使密文和公钥被拦截,但是由于无法获取到私钥,也就无法破译到密文。 缺点 - 加密算法复杂,安全性依赖算法和密钥, 且加密和解密效率很低。
一: 对称加密: 加密解密使用同一个密钥,被黑客拦截不安全 二:非对称加密:公钥加密,私钥解密。公钥可以公开给别人进行加密,私钥永远在自己手里,非常安全,黑客拦截也没用,因为私钥尚未公开。 著名的RSA加密算法就是用的非对称加密。
简单理解:
对称加密: A和B传输数据,使用同一个密钥,不安全
非对称加密: A和B传输数据, A具有自己的公私钥,B具有自己的公私钥。 (公钥是在公网上公开的,任何人都能看见, 私钥自己保留)
A拿着B的公钥+信息数据, 传递给B。 这个时候 , 只有B手里的私钥才能解开。
假设C拦截了A传递的信息,他是解不开的, 因为C没有这个公钥对应的私钥。 所以比较安全。
简单理解: MD5加密是一个不可逆的操作, 库里是保留加密后的字符串。 下次比较时, 是比较的串和串之间无有差异。
输入URL访问页面时, 服务器会把自己的证书发送给浏览器。 浏览器解析,拿到公钥(就是服务器的公钥)。 浏览器通过对称加密,生成一个密钥。
浏览器: 密钥(通过对称加密生成的) + 公钥(解析除的服务器公钥) 发送给服务器。 服务器接收,通过自己的私钥进行解密, 会得到 浏览器生成的密钥。
这样, 浏览器和服务器之前就有了一个密钥进行加密通信,通过密钥进行传输数据。 所以比http安全