数据在传输过程中,如果保证数据的完整性,实现数字签名,安全传输的过程如下
加密过程
以上这个加密过程解释如下
加密过程
先用hash 获取到一个摘要值
用A的私钥来加密这个摘要值
然后A生成一个对称的密钥,效率高 ,用这个对称密钥来加密 (数据+A私钥加密的摘要)
用B的公钥来加密对称密钥的key
将这段数据发送出去
解密过程:
B收到数据后,用自己的私钥来解密,获取到A的对称公钥的key
得到A的对称key后来解密{数据+A私钥加密的摘要}
得到数据后,B用A的公钥来解密 经过 A私钥加密的摘要,确保这段数据是有A发过来的,数字签名的效果
得到hash的摘要值后,B将得到的数据data也进行同样的hash算法得到hash 摘要B,
对比摘要A和摘要B,这两段hash值,如果一样,就确定数据没有被更改过,保证了数据的完整性
转载于:https://blog.51cto.com/ghbsunny/1964991