一、最簡單的 固態簽名web
sign = xxxxxx 的模式 ,一般配合time()時間戳傳遞,通常用來作爲普通接口不涉及安全性的接口。小程序
二、動態簽名 這種 常規的:微信小程序
1.請求參數api
user_code :分配惟一標識,區分不一樣商戶安全
order_no :請求單號,多個逗號隔開。微信
order_type: 請求單號類型: 0訂單 號,1運單號session
request_time:請求時間戳 YmdHis加密
sign : 簽名有字符串,簽名規則:spa
MD5(user_code+order_no+order_type+request_time+private_key) ,其中private_key爲約定祕鑰。code
一般MD5加密的字符串 是按照ASCII排序
經過傳遞參數和動態md5加密 ,由於約定的private_key 只有雙方知道,所以數據被抓包對面也無法加密出正確的sign
三、最穩妥的這種則是參考微信小程序登陸的安全模式,我的以爲很棒
經過 wx.login()
獲取到用戶登陸態以後,須要維護登陸態。開發者要注意不該該直接把 session_key、openid 等字段做爲用戶的標識或者 session 的標識,而應該本身派發一個 session 登陸態(請參考登陸時序圖)。對於開發者本身生成的 session,應該保證其安全性且不該該設置較長的過時時間。session 派發到小程序客戶端以後,可將其存儲在 storage ,用於後續通訊使用。
經過wx.checkSession()
檢測用戶登陸態是否失效。並決定是否調用wx.login() 從新獲取登陸態