在很多時候在跟第三方做數據交互的時候,對方都會提供給我們簽名密鑰signKey,并且要求我們傳入簽名
這種做法非常普遍和經典,現在記錄一下該做法的流程和意義
以金融支付第三方為例,一般我們和它交互的時候信息安全系數較高(不能被篡改),會有以下操作 ? ? ? ? ? ?
我方應用 :?
1.傳輸中加上一個簽名sign:簽名是由傳輸參數按照第三方指定規則排列之后進行md5算法生成的128位的hash值(為了保險起見,會加上一個由第三方提供signKey一起md5)
第三方:
1.根據應用方提供的參數在第三方根據約定的規則生成簽名
2.和應用方提供的簽名sign對比
3.簽名正確再走下一步,否則驗簽失敗
signKey : 必需,因為大多數時候都是采用md5做簽名算法,所以如果沒有約定的signKey很容易被篡改信息
md5 : 經典的信息摘要算法(注意:它不是加密算法,不可逆),基本用于信息簽名