1.对称加密算法:加密使用的秘钥和解密使用的秘钥相同,常见的有DES,3DES,AES
2.非对称加密算法:加密解密使用不同的秘钥,常见的有RSA、ECC、D-H(DiffieˉHellman 与RSA的不同之处在于,DiffieˉHellman不是加密算法,它只是生成可用作对称密钥的秘密数值)
3.消息摘要:对特定的数据进行不可逆的数据摘要,生成一段唯一的校验码,用来判断数据是否被篡改。常见的有MD5、SHA
4.安全套接层:SSL 是指安全套接字层,简而言之,它是一项标准技术,可确保互联网连接安全,保护两个系统之间发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,TLS(Transport Layer Security 安全传输层协议)是SSL的标准化
5.SNI:SNI 中文名为服务器名称指示,是对 SSL/TLS 协议的扩展,允许在单个 IP 地址上承载多个 SSL 证书,当一个IP对应多个证书时(在HTTP协议中,请求的域名作为主机头(Host)放在HTTP Header中,所以服务器端知道应该把请求引向哪个域名,但是早期的SSL做不到这一点,因为在SSL握手的过程中,根本不会有Host的信息,所以服务器端通常返回的是配置中的第一个可用证书。因而一些较老的环境,可能会产生多域名分别配好了证书,但返回的始终是同一个),需要启用SNI功能
6.mac(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加上了密钥。因此MAC算法也经常被称作HMAC算法。
1.甲方向乙方公布摘要算法(就是指定要使用的摘要算法名)
2.甲乙双方按照约定构造密钥,双方拥有相同的密钥(一般是一方构造密钥后通知另外一方,此过程不需要通过程序实现,就是双方约定个字符串,但是这个字符串可不是随便设定的,也是通过相关算法获取的)
3.甲方使用密钥对消息做摘要处理,然后将消息和生成的摘要消息一同发送给乙方
4.乙方收到消息后,使用甲方已经公布的摘要算法+约定好的密钥 对收到的消息进行摘要处理。然后比对自己的摘要消息和甲方发过来的摘要消息。甄别消息是否是甲方发送过来的