输入支付密码发送给支付宝服务器。 支付宝服务器转账成功,告知商家服务器某个订单的金额转账成功。 这6个步骤中,最为重要的是步骤2和步骤6。拆解如下。 商家服务器和支付宝服务器交互的过程中传输的信息异常敏感,所以,在交互时必须防止中间人对于信息的篡改。例如步骤2将商品的金额改为0,支付宝就误认为是转账0元。 数字签名解决了交互时这一安全问题。它可以验证一条消息或者文档的真实性。在支付宝支付的接口中,有一个sign参数用来填写签名。这个签名作用是为了防止信息伪造。通过这种方式可以有效的防止消息在传递过程中被篡改。 二、签名实现原理 2.1 签名原理 数字签名是一个信息安全的保障,它的实现依赖于双方系统的密钥。 签名过程如下: 计算希望签名的文档的散列。不论输入文档的长度如何,输出长度总是固定的。比如,使用SHA256就是256位。 对结果散列和一些额外的元数据进行编码。比如,接收方需要知道你使用的散列算法,否则不能处理签名。