C# 微信接口认证
public void valid()
{
string echostr = Request.QueryString["echostr"];
if (!string.IsNullOrEmpty(echostr))
{
if (checkSignature())
{
Response.Write(echostr);
Response.End();
}
}
else
{
return;
}
}
public bool checkSignature()
{
var signature = Request.QueryString["signature"].ToString();
var timestamp = Request.QueryString["timestamp"].ToString();
var nonce = Request.QueryString["nonce"].ToString();
var token = "TMFHTongwx";
string[] ArrTmp = { token, timestamp, nonce };
Array.Sort(ArrTmp, StringComparer.Ordinal); //字典排序
string tmpStr = string.Join("", ArrTmp);
tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, FormsAuthPasswordFormat.SHA1.ToString());
tmpStr = tmpStr.ToLower();
if (tmpStr.Equals(signature.ToLower()))
{
return true;
}
else
{
return false;
}
}
最新文章
- 简单的oracle分页语句
- Cacheable key collision with DefaultKeyGenerator
- iOS检测网络连接状态
- 疯狂java讲义——继承
- BJUI 转
- 多层架构+MVC+EF+AUTOFAC+AUTOMAPPER
- DataGridView显示行号
- iOS之PCH文件
- C# 添加、获取及删除PDF附件
- 201521123095 《Java程序设计》第1周学习总结
- bzoj1015星球大战
- 在android C/C++ native编程(ndk)中使用logcat
- docker安装elasticsearch
- Linux平台下RMAN异机恢复总结
- IE 浏览器不支持 ES6 Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性
- [UE4]Expandable Area可展开的区域
- SAP ABAP 如何查找SMOD增强
- 面象对象设计原则之六:迪米特原则(LeastKnowledge Principle, LKP)
- 解决openwrt中文界面异常
- PgSQL基础之 pgsql与mysql的简单区别
热门文章
- 完美解决迅雷极速版强制升级到迅雷X
- 学完JavaScript基础有感
- 版本管理·玩转git(快速入门git)
- 使用spark dataSet 和rdd 解决 某个用户在某个地点待了多长时间
- pip3 Traceback (most recent call last)错误调试
- 以太坊智能合约[ERC20]发币记录
- 82天突破1000star,项目团队梳理出软件开源必须注意的8个方面
- FastDFS初印象
- MySQL5.7.27报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated
- P1963 [NOI2009]变换序列 倒叙跑匈牙利算法