開發人員可以參考:/hougelou/article/details/8462364
仔細參考平臺文檔說明,看下面兩段代碼,就會明白。
const?string?Token?=?"token";//與那邊填寫的token壹致? ///?<summary>?///?驗證微信簽名?
///?</summary>?
///?*?將token、timestamp、nonce三個參數進行字典序排序?
///?*?將三個參數字符串拼接成壹個字符串進行sha1加密?
///?*?開發者獲得加密後的字符串可與signature對比,標識該請求來源於微信。?
///?<returns></returns>?
private?bool?CheckSignature()?
{?
string?signature?=?Request.QueryString["signature"];?
string?timestamp?=?Request.QueryString["timestamp"];?
string?nonce?=?Request.QueryString["nonce"];?
string[]?ArrTmp?=?{?Token,?timestamp,?nonce?};?
Array.Sort(ArrTmp);?//字典排序?
string?tmpStr?=?string.Join("",?ArrTmp);?
tmpStr?=?FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,?"SHA1");?
tmpStr?=?tmpStr.ToLower();?
if?(tmpStr?==?signature)?
{?
return?true;?
}?
else?
{?
return?false;?
}?
}?private?void?Valid()?
{?string?echoStr?=?Request.QueryString["echoStr"];?
if?(CheckSignature())?
{?
if?(!string.IsNullOrEmpty(echoStr))?
{?
Response.Write(echoStr);?
Response.End();?
}?
}?
}