对于当前微信消息收发使用C#实现较好的一个DEMOEntities/Request*.cs用于接收微信平台自动发送到服务器的实体(发送过来的是XML),包括文本、位置、图片三类Entities/Response*.cs用于反馈给发送人的信息实体(最终会转成XML),包括文本、新闻(图文)两类Helpers/EntityHelper.cs用于实体和XML之间的转换(由于其中有许多需要特殊处理的字段和类型,这里不能简单用XML序列化)Helpers/MsgTypeHelper.cs用于获取消息类型CheckSignature.cs验证请求合法性类Enums.cs各种枚举RequestMessageFactory.cs用于自动生成不同Request类型的实体,并作必要的数据填充Senparc.Weixin.MP几个关键类及重要方法(按一般使用过程排序)生成验证字符串:Senparc.Weixin.MP.CheckSignature.GetSignature(stringtimestamp,stringnonce,stringtoken=null),返回根据微信平台提供的数据,SHA1加密后的验证字符串(注意token必须跟公众平台的设置一直)验证请求:Senparc.Weixin.MP.CheckSignature.Check(stringsignature,stringtimestamp,stringnonce,stringtoken=null),验证请求是否合法获取请求实体:varrequestMessage=Senparc.Weixin.MP.RequestMessageFactory.GetRequestEntity(XDocumentdoc);根据不同请求的类型,自动生成可用于操作的实体(doc只需要用XDocument.Parse(xmlString)就能生成),requestMessage.MsgType就是请求枚举类型。
进行判断及各类操作。
根据需要,创建响应类型的实体,如:varresponseMessage=ResponseMessageBase.CreateFromRequestMessage(requestMessage,ResponseMsgType.Text)asResponseMessageText;即可返回文本类型信息。
由于目前微信只接受XML的返回数据,所以在返回之前还需要做一次转换:XDocumentresponseDoc=Senparc.Weixin.MP.Helpers.EntityHelper.ConvertEntityToXml(responseMessage);varxmlString=responseDoc.ToString();至此整个微信公众账号的自动响应过程结束。
下面可以直接下载源代码及示例(示例是ASP.NETMVC4,.NET4.0,为了提高兼容性,Senparc.Weixin.MP源代码使用.NET3.5):压缩包中包含三个文件夹:Senparc.Weixin.MP、Senparc.Weixin.MP.BuildOutPut、Senparc.Weixin.MP.Sample,分别对应Senparc.Weixin.MP.dll源代码项目、Senparc.Weixin.MP.dll输出目录、Web示例,Web示例建议放到公网测试,让公众平台自动发送
2025/8/10 13:56:54 12.09MB C# 微信 接口 消息收发
1
data:testDatakey:123---SHA1---DATA:3a81f749059c9ace07e63d613857b21e2f42145bBASE64:OoH3SQWcms4H5j1hOFeyHi9CFFs=---HMACSHA1---DATA:0a7ec5f83fbeb938f155a265c431a09457c43a76BASE64:Cn7F+D++uTjxVaJlxDGglFfEOnY=---SHA256---DATA:1d6bf7fc06eb47cca7c310ef87656920e24c65a23780e8ba53b8317b5c79fd1fBASE64:HWv3/AbrR8ynwxDvh2VpIOJMZaI3gOi6U7gxe1x5/R8=---HMACSHA256---DATA:dafb37cff18237a2bbd7da6a12e8f6743b459ddca186c831b9b23c99c0e38eedBASE64:2vs3z/GCN6K719pqEuj2dDtFndyhhsgxubI8mcDjju0=Anykeytoexit
2025/7/9 21:35:45 41KB HMAC-SHA1 HMAC-SHA256 BASE64 SHA1
1
对数据进行HMAC-SHA256或HMAC-SHA1加密的C代码,VC2008工程。
加密代码来自网络,进行了适当整合。
2025/4/19 4:14:25 38KB HMAC-SHA256 HMAC-SHA1 BASE64
1
C++的HMAC_SHA1加密算法源码,你自己可以做成动态库,由VC、VB或者C#调用。
2024/12/13 18:58:10 6KB C++ MD5加密 HMAC SHA1
1
用ASP程序实现手机网页,获取“分享到朋友圈”按钮点击状态及自定义分享内容接口。
通过asp实现以下数据:timestamp(时间戳)、access_token、jsapi_ticket、sha1加密、signature。
2024/4/28 15:05:22 5KB 微信JS-SDK ASP sha1加密 jsapi_ticket
1
asp使用sha1加密的方法,使用方式。
sha1(xxx)
2024/3/5 14:54:56 6KB Sha1 asp
1
标准SHA1算法的C++实现,讲解了该算法的计算原理,并对难懂代码进行解释和具体的运用方法。
拿来就能用。
2020/10/4 8:42:57 4KB SHA1 C++
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡