簽名生成官方文檔:/wiki/doc/api/jsapi.php?chapter=4_3
簽名驗證分為如下幾步:
1.與服務端確認上傳的簽名內容(即上傳參數key=value)以及加密方式.並且要到商戶平臺設置的密鑰key.
2.生成隨機字符串nonceStr.
3.將要上傳的參數,對參數按照key=value的格式,並按照參數名ASCII字典序排序,比如:
假設傳送的參數如下:?
appid: wxd930ea5d5a258f4f?
mch_id: 10000100?
device_info: 1000?
body: test?
nonce_str: ibuaiVcKdpRxkhJA
則:stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";
4.拼接API密鑰,例如:stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d"?//註:key為商戶平臺設置的密鑰key
5.對拼接秘鑰後的字符串進行加密並且轉換為大寫.(加密方式自定)
6.將參數以及加密得到的sign壹起上傳給服務端進行驗證.
7.查看服務端返回結果.
謝謝大家~