学习本知识,需要了解一下预备知识:
摘要算法 对称加密 非对称加密
三段式加密,顾名思义,就是数据传输过程中,加密数据由三段(数据摘要 + 对称加密数据 + 数字信封)组成。三段分别采用以上三种类型的加密算法。
对称算法与非对称算法的优缺点:
三段式加密算法则采其众所长,利用对称算法对明文数据进行加密、非对称算法对对称密钥进行加密,即保证了加密效率,也保障了密钥的安全性。
在数据传输前,请求方和服务方会约定一对公私钥,请求方持有公钥(publicKey),服务方持有私钥(privateKey); 对称密钥(desKey)由请求方随机生成。
下面来张图作示意说明:
str1 = MD5( 明文 text + desKey ); str2 = DES( 明文 ); str3 = RSA( publicKey , desKey ); 三段之间一般的分隔符 split 一般采用 char 29 ; str = str1 + split + str2 + split + str3 ;
服务方接受到数据之后,处理步骤如下:
以 分隔符(char 29) 对请求密文数据 str 进行分割,得到 str1、str2、str3; 用约定的非对称私钥(privateKey) 对str3 进行解密,获得 DES密钥明文 desKey; 用 desKey 对 str2 进行解密,获得明文 text; 对明文 text 与 对称密钥 desKey 之和 进行 MD5加密; 将步骤4所得结果与 str1 进行比较: 如果相同,则数据处理完成; 如果不同,则可能数据在传输过程中有可能篡改,数据处理失败;
作者:离线中__
链接:https://www.jianshu.com/p/2062199c99fa
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。