• 大小: 520KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-05-21
  • 语言: C#
  • 标签: C#  微信  企业号  回调  

资源简介

(附上说明文档,让大家快速通过回调验证)用C#写的,网上找了很多但是都无法直接使用,也有部分遗漏,正好自己优化一个分享给大家。例子是把用户发送的消息回复给用户,下载后只需在web.config配置好相应的参数,即可发布使用。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
using System.Net;

namespace Tencent
{
    class Cryptography
    {
        public static UInt32 HostToNetworkOrder(UInt32 inval)
        {
            UInt32 outval = 0;
            for (int i = 0; i < 4; i++)
                outval = (outval << 8) + ((inval >> (i * 8)) & 255);
            return outval;
        }

        public static Int32 HostToNetworkOrder(Int32 inval)
        {
            Int32 outval = 0;
            for (int i = 0; i < 4; i++)
                outval = (outval << 8) + ((inval >> (i * 8)) & 255);
            return outval;
        }
        /// 
        /// 解密方法
        /// 

        /// 密文
        /// 
        /// 
        /// 
        public static string AES_decrypt(String Input string EncodingAESKey ref string corpid)
        {
            byte[] Key;
            Key = Convert.Frombase64String(EncodingAESKey + “=“);
            byte[] Iv = new byte[16];
            Array.Copy(Key Iv 16);
            byte[] btmpMsg = AES_decrypt(Input Iv Key);

            int len = BitConverter.ToInt32(btmpMsg 16);
            len = IPAddress.NetworkToHostOrder(len);


            byte[] bMsg = new byte[len];
            byte[] bCorpid = new byte[btmpMsg.Length - 20 - len];
            Array.Copy(btmpMsg 20 bMsg 0 len);
            Array.Copy(btmpMsg 20 + len bCorpid 0 btmpMsg.Length - 20 - len);
            string oriMsg = Encoding.UTF8.GetString(bMsg);
            corpid = Encoding.UTF8.GetString(bCorpid);


            return oriMsg;
        }

        public static String AES_encrypt(String Input string EncodingAESKey string corpid)
        {
            byte[] Key;
            Key = Convert.Frombase64String(EncodingAESKey + “=“);
            byte[] Iv = new byte[16];
            Array.Copy(Key Iv 16);
            string Randcode = CreateRandCode(16);
            byte[] bRand = Encoding.UTF8.GetBytes(Randcode);
            byte[] bCorpid = Encoding.UTF8.GetBytes(corpid);
            byte[] btmpMsg = Encoding.UTF8.GetBytes(Input);
            byte[] bMsgLen = BitConverter.GetBytes(HostToNetworkOrder(btmpMsg.Length));
            byte[] bMsg = new byte[bRand.Length + bMsgLen.Length + bCorpid.Length + btmpMsg.Length];

            Array.Copy(bRand bMsg bRand.Length);
            Array.Copy(bMsgLen 0 bMsg bRand.Length bMsgLen.Length);
            Array.Copy(btmpMsg 0 bMsg bRand.Length + bMsgLen.Length btmpMsg.Length);
            Array.Copy(bCorpid 0 bMsg bRand.Length + bMsgLen.Length + btmpMsg.Length bCorpid.Length);

            return AES_encrypt(bMsg Iv Key);

        }
        private static string CreateRandCode(int codeLen)
        {
            string codeSerial = “234567

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-06-29 11:09  Demo.WeChat\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\bin\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\bin\Debug\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\bin\Release\
     文件        8580  2016-06-23 16:15  Demo.WeChat\Demo.Common\Cryptography.cs
     文件        2583  2016-06-29 11:10  Demo.WeChat\Demo.Common\Demo.Common.csproj
     文件         227  2016-06-22 01:17  Demo.WeChat\Demo.Common\Demo.Common.csproj.user
     文件        9151  2016-06-29 11:09  Demo.WeChat\Demo.Common\Log.cs
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\obj\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\obj\Debug\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\obj\Debug\TempPE\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\obj\Release\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.Common\obj\Release\TempPE\
     目录           0  2016-06-29 11:17  Demo.WeChat\Demo.Common\Properties\
     文件        1358  2016-06-22 01:17  Demo.WeChat\Demo.Common\Properties\AssemblyInfo.cs
     文件        4347  2016-06-29 11:10  Demo.WeChat\Demo.Common\weixinsendmessage.cs
     文件       10439  2016-06-23 16:17  Demo.WeChat\Demo.Common\WXBizMsgCrypt.cs
     文件         662  2016-06-29 11:10  Demo.WeChat\Demo.Common\wxmessage.cs
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.WeChat\
     文件        1410  2016-06-29 11:09  Demo.WeChat\Demo.WeChat.sln
     文件       61440  2016-06-29 11:18  Demo.WeChat\Demo.WeChat.suo
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.WeChat\bin\
     文件         444  2016-06-29 11:10  Demo.WeChat\Demo.WeChat\Default.aspx
     文件        7431  2016-06-29 11:16  Demo.WeChat\Demo.WeChat\Default.aspx.cs
     文件         806  2016-06-29 11:11  Demo.WeChat\Demo.WeChat\Default.aspx.designer.cs
     文件        4521  2016-06-29 11:11  Demo.WeChat\Demo.WeChat\Demo.WeChat.csproj
     文件        1171  2016-06-24 09:31  Demo.WeChat\Demo.WeChat\Demo.WeChat.csproj.user
     文件         980  2016-06-29 11:11  Demo.WeChat\Demo.WeChat\Demo.WeChat.Publish.xml
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.WeChat\obj\
     目录           0  2016-06-29 11:27  Demo.WeChat\Demo.WeChat\obj\Debug\
............此处省略7个文件信息

评论

共有 条评论