数字签名可以确认消息是由发送方签名并发出来的,别人无法假冒签名 2.数字签名可以确认消息的完整性,证明数据没有被篡改过。
如何实现?
1.发送者生成数字签名:将一段文本先用hash函数生成消息摘要,所谓摘要也可以理解为md5这种,然后再用发送者的私钥生成数字签名,与原文一起传送给接受者。
2.接受者校验数字签名:接受者使用发送者的公钥解密成被加密的摘要信息,然后用hash函数对收到的原文生成摘要,对比两个摘要是否相同,如果相同则代码收到的信息是完整的,没有被修改过。
前提是客户端要知道服务器的公钥,问题的关键是,和消息本身一样,服务器的公钥不能在不安全的网络中直接发送给客户端,或者说客户端无法证明拿到的公钥就是服务器端的。所以为了解决这个问题需要第三方证书颁发机构。