首页

C# 微信接口验证

c#

2020-9-1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Collections;
//using System.Web;
using System.Security.Cryptography;
//-40001 : 签名验证错误
//-40002 :  xml解析失败
//-40003 :  sha加密生成签名失败
//-40004 :  AESKey 非法
//-40005 :  corpid 校验错误
//-40006 :  AES 加密失败
//-40007 : AES 解密失败
//-40008 : 解密后得到的buffer非法
//-40009 :  base64加密异常
//-40010 :  base64解密异常
namespace Tencent
{
    class WXBizMsgCrypt
    {
        string m_sToken;
        string m_sEncodingAESKey;
        string m_sReceiveId;
        enum WXBizMsgCryptErrorCode
        {
            WXBizMsgCrypt_OK = 0,
            WXBizMsgCrypt_ValidateSignature_Error = -40001,
            WXBizMsgCrypt_ParseXml_Error = -40002,
            WXBizMsgCrypt_ComputeSignature_Error = -40003,
            WXBizMsgCrypt_IllegalAesKey = -40004,
            WXBizMsgCrypt_ValidateCorpid_Error = -40005,
            WXBizMsgCrypt_EncryptAES_Error = -40006,
            WXBizMsgCrypt_DecryptAES_Error = -40007,
            WXBizMsgCrypt_IllegalBuffer = -40008,
            WXBizMsgCrypt_EncodeBase64_Error = -40009,
            WXBizMsgCrypt_DecodeBase64_Error = -40010
        };

        //构造函数
	    // @param sToken: 企业微信后台,开发者设置的Token
	    // @param sEncodingAESKey: 企业微信后台,开发者设置的EncodingAESKey
	    // @param sReceiveId: 不同场景含义不同,详见文档说明
        public WXBizMsgCrypt(string sToken, string sEncodingAESKey, string sReceiveId)
        {
            m_sToken = sToken;
            m_sReceiveId = sReceiveId;
            m_sEncodingAESKey = sEncodingAESKey;
        }

        //验证URL
        // @param sMsgSignature: 签名串,对应URL参数的msg_signature
        // @param sTimeStamp: 时间戳,对应URL参数的timestamp
        // @param sNonce: 随机串,对应URL参数的nonce
        // @param sEchoStr: 随机串,对应URL参数的echostr
        // @param sReplyEchoStr: 解密之后的echostr,当return返回0时有效
        // @return:成功0,失败返回对应的错误码
        public int VerifyURL(string sMsgSignature, string sTimeStamp, string sNonce, string sEchoStr, ref string sReplyEchoStr)
        {
            int ret = 0;
			if (m_sEncodingAESKey.Length!=43)
			{
				return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_IllegalAesKey;
			}
            ret = VerifySignature(m_sToken, sTimeStamp, sNonce, sEchoStr, sMsgSignature);
            if (0 != ret)
            {
                return ret;
            }
            sReplyEchoStr = "";
            string cpid = "";
            try
            {
                sReplyEchoStr = Cryptography.AES_decrypt(sEchoStr, m_sEncodingAESKey, ref cpid); //m_sReceiveId);
            }
            catch (Exception)
            {
                sReplyEchoStr = "";
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_DecryptAES_Error;
            }
            if (cpid != m_sReceiveId)
            {
                sReplyEchoStr = "";
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_ValidateCorpid_Error;
            }
            return 0;
        }

        // 检验消息的真实性,并且获取解密后的明文
        // @param sMsgSignature: 签名串,对应URL参数的msg_signature
        // @param sTimeStamp: 时间戳,对应URL参数的timestamp
        // @param sNonce: 随机串,对应URL参数的nonce
        // @param sPostData: 密文,对应POST请求的数据
        // @param sMsg: 解密后的原文,当return返回0时有效
        // @return: 成功0,失败返回对应的错误码
        public int DecryptMsg(string sMsgSignature, string sTimeStamp, string sNonce, string sPostData, ref string sMsg)
        {
			if (m_sEncodingAESKey.Length!=43)
			{
				return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_IllegalAesKey;
			}
            XmlDocument doc = new XmlDocument();
            XmlNode root;
            string sEncryptMsg;
            try
            {
                doc.LoadXml(sPostData);
                root = doc.FirstChild;
                sEncryptMsg = root["Encrypt"].InnerText;
            }
            catch (Exception)
            {
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_ParseXml_Error;
            }
            //verify signature
            int ret = 0;
            ret = VerifySignature(m_sToken, sTimeStamp, sNonce, sEncryptMsg, sMsgSignature);
            if (ret != 0)
                return ret;
            //decrypt
            string cpid = "";
            try
            {
                sMsg = Cryptography.AES_decrypt(sEncryptMsg, m_sEncodingAESKey, ref cpid);
            }
            catch (FormatException)
            {
                sMsg = "";
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_DecodeBase64_Error;
            }
            catch (Exception)
            {
                sMsg = "";
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_DecryptAES_Error;
            }
            if (cpid != m_sReceiveId)
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_ValidateCorpid_Error;
            return 0;
        }

        //将企业号回复用户的消息加密打包
        // @param sReplyMsg: 企业号待回复用户的消息,xml格式的字符串
        // @param sTimeStamp: 时间戳,可以自己生成,也可以用URL参数的timestamp
        // @param sNonce: 随机串,可以自己生成,也可以用URL参数的nonce
        // @param sEncryptMsg: 加密后的可以直接回复用户的密文,包括msg_signature, timestamp, nonce, encrypt的xml格式的字符串,
        //						当return返回0时有效
        // return:成功0,失败返回对应的错误码
        public int EncryptMsg(string sReplyMsg, string sTimeStamp, string sNonce, ref string sEncryptMsg)
        {
			if (m_sEncodingAESKey.Length!=43)
			{
				return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_IllegalAesKey;
			}
            string raw = "";
            try
            {
                raw = Cryptography.AES_encrypt(sReplyMsg, m_sEncodingAESKey, m_sReceiveId);
            }
            catch (Exception)
            {
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_EncryptAES_Error;
            }
            string MsgSigature = "";
            int ret = 0;
            ret = GenarateSinature(m_sToken, sTimeStamp, sNonce, raw, ref MsgSigature);
            if (0 != ret)
                return ret;
            sEncryptMsg = "";

            string EncryptLabelHead = "<Encrypt><![CDATA[";
            string EncryptLabelTail = "]]></Encrypt>";
            string MsgSigLabelHead = "<MsgSignature><![CDATA[";
            string MsgSigLabelTail = "]]></MsgSignature>";
            string TimeStampLabelHead = "<TimeStamp><![CDATA[";
            string TimeStampLabelTail = "]]></TimeStamp>";
            string NonceLabelHead = "<Nonce><![CDATA[";
            string NonceLabelTail = "]]></Nonce>";
            sEncryptMsg = sEncryptMsg   "<xml>"   EncryptLabelHead   raw   EncryptLabelTail;
            sEncryptMsg = sEncryptMsg   MsgSigLabelHead   MsgSigature   MsgSigLabelTail;
            sEncryptMsg = sEncryptMsg   TimeStampLabelHead   sTimeStamp   TimeStampLabelTail;
            sEncryptMsg = sEncryptMsg   NonceLabelHead   sNonce   NonceLabelTail;
            sEncryptMsg  = "</xml>";
            return 0;
        }

        public class DictionarySort : System.Collections.IComparer
        {
            public int Compare(object oLeft, object oRight)
            {
                string sLeft = oLeft as string;
                string sRight = oRight as string;
                int iLeftLength = sLeft.Length;
                int iRightLength = sRight.Length;
                int index = 0;
                while (index < iLeftLength && index < iRightLength)
                {
                    if (sLeft[index] < sRight[index])
                        return -1;
                    else if (sLeft[index] > sRight[index])
                        return 1;
                    else
                        index  ;
                }
                return iLeftLength - iRightLength;

            }
        }
        //Verify Signature
        private static int VerifySignature(string sToken, string sTimeStamp, string sNonce, string sMsgEncrypt, string sSigture)
        {
            string hash = "";
            int ret = 0;
            ret = GenarateSinature(sToken, sTimeStamp, sNonce, sMsgEncrypt, ref hash);
            if (ret != 0)
                return ret;
            if (hash == sSigture)
                return 0;
            else
            {
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_ValidateSignature_Error;
            }
        }

        public static int GenarateSinature(string sToken, string sTimeStamp, string sNonce, string sMsgEncrypt ,ref string sMsgSignature)
        {
            ArrayList AL = new ArrayList();
            AL.Add(sToken);
            AL.Add(sTimeStamp);
            AL.Add(sNonce);
            AL.Add(sMsgEncrypt);
            AL.Sort(new DictionarySort());
            string raw = "";
            for (int i = 0; i < AL.Count;   i)
            {
                raw  = AL[i];
            }

            SHA1 sha;
            ASCIIEncoding enc;
            string hash = "";
            try
            {
                sha = new SHA1CryptoServiceProvider();
                enc = new ASCIIEncoding();
                byte[] dataToHash = enc.GetBytes(raw);
                byte[] dataHashed = sha.ComputeHash(dataToHash);
                hash = BitConverter.ToString(dataHashed).Replace("-", "");
                hash = hash.ToLower();
            }
            catch (Exception)
            {
                return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_ComputeSignature_Error;
            }
            sMsgSignature = hash;
            return 0;
        }
    }
}

资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
Cetione.API/.config/dotnet-tools.json , 164
Cetione.API/.vs/Cetione.API/config/applicationhost.config , 80985
Cetione.API/.vs/Cetione.API/DesignTimeBuild/.dtbcache , 834066
Cetione.API/.vs/Cetione.API/v16/.suo , 70656
Cetione.API/.vs/Cetione.API/v16/Server/sqlite3/db.lock , 0
Cetione.API/.vs/Cetione.API/v16/Server/sqlite3/storage.ide , 4390912
Cetione.API/API/SuiteController.cs , 4939
Cetione.API/API/WxrpController.cs , 4824
Cetione.API/appsettings.Development.json , 146
Cetione.API/appsettings.json , 326
Cetione.API/bin/Debug/netcoreapp3.0/appsettings.Development.json , 146
Cetione.API/bin/Debug/netcoreapp3.0/appsettings.json , 326
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.deps.json , 261053
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.dll , 24576
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.exe , 159744
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.pdb , 8492
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.runtimeconfig.dev.json , 190
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.runtimeconfig.json , 224
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.Views.dll , 38912
Cetione.API/bin/Debug/netcoreapp3.0/Cetione.API.Views.pdb , 4120
Cetione.API/bin/Debug/netcoreapp3.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll , 308088
Cetione.API/bin/Debug/netcoreapp3.0/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 15736
Cetione.API/bin/Debug/netcoreapp3.0/cs/Microsoft.CodeAnalysis.resources.dll , 36216
Cetione.API/bin/Debug/netcoreapp3.0/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll , 78712
Cetione.API/bin/Debug/netcoreapp3.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll , 327032
Cetione.API/bin/Debug/netcoreapp3.0/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/de/Microsoft.CodeAnalysis.resources.dll , 37240
Cetione.API/bin/Debug/netcoreapp3.0/de/Microsoft.CodeAnalysis.Workspaces.resources.dll , 81784
Cetione.API/bin/Debug/netcoreapp3.0/dotnet-aspnet-codegenerator-design.dll , 53112
Cetione.API/bin/Debug/netcoreapp3.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll , 320376
Cetione.API/bin/Debug/netcoreapp3.0/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/es/Microsoft.CodeAnalysis.resources.dll , 37240
Cetione.API/bin/Debug/netcoreapp3.0/es/Microsoft.CodeAnalysis.Workspaces.resources.dll , 80248
Cetione.API/bin/Debug/netcoreapp3.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll , 327032
Cetione.API/bin/Debug/netcoreapp3.0/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/fr/Microsoft.CodeAnalysis.resources.dll , 37752
Cetione.API/bin/Debug/netcoreapp3.0/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll , 82808
Cetione.API/bin/Debug/netcoreapp3.0/Google.Protobuf.dll , 294912
Cetione.API/bin/Debug/netcoreapp3.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll , 324984
Cetione.API/bin/Debug/netcoreapp3.0/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/it/Microsoft.CodeAnalysis.resources.dll , 37752
Cetione.API/bin/Debug/netcoreapp3.0/it/Microsoft.CodeAnalysis.Workspaces.resources.dll , 82296
Cetione.API/bin/Debug/netcoreapp3.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll , 357240
Cetione.API/bin/Debug/netcoreapp3.0/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/ja/Microsoft.CodeAnalysis.resources.dll , 39800
Cetione.API/bin/Debug/netcoreapp3.0/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll , 84856
Cetione.API/bin/Debug/netcoreapp3.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll , 330104
Cetione.API/bin/Debug/netcoreapp3.0/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 15736
Cetione.API/bin/Debug/netcoreapp3.0/ko/Microsoft.CodeAnalysis.resources.dll , 37752
Cetione.API/bin/Debug/netcoreapp3.0/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll , 80248
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.AspNetCore.Razor.Language.dll , 931192
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.CodeAnalysis.CSharp.dll , 5211000
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.CodeAnalysis.CSharp.Workspaces.dll , 759160
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.CodeAnalysis.dll , 2465144
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.CodeAnalysis.Razor.dll , 81784
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.CodeAnalysis.Workspaces.dll , 2869328
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.Data.SqlClient.dll , 330712
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.Data.Sqlite.dll , 135032
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.DotNet.PlatformAbstractions.dll , 24024
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.EntityFrameworkCore.Abstractions.dll , 20856
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.EntityFrameworkCore.Design.dll , 243576
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.EntityFrameworkCore.dll , 1524088
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.EntityFrameworkCore.Relational.dll , 802168
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.EntityFrameworkCore.SqlServer.dll , 265080
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.Extensions.DependencyModel.dll , 62944
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.Identity.Client.dll , 1187176
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGeneration.Contracts.dll , 23416
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGeneration.Core.dll , 73080
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGeneration.dll , 35704
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore.dll , 68984
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGeneration.Templating.dll , 29560
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll , 34680
Cetione.API/bin/Debug/netcoreapp3.0/Microsoft.VisualStudio.Web.CodeGenerators.Mvc.dll , 186232
Cetione.API/bin/Debug/netcoreapp3.0/MySql.Data.dll , 702464
Cetione.API/bin/Debug/netcoreapp3.0/Newtonsoft.Json.dll , 656384
Cetione.API/bin/Debug/netcoreapp3.0/Npgsql.dll , 660480
Cetione.API/bin/Debug/netcoreapp3.0/NuGet.Frameworks.dll , 108688
Cetione.API/bin/Debug/netcoreapp3.0/Oracle.ManagedDataAccess.dll , 4562944
Cetione.API/bin/Debug/netcoreapp3.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll , 330104
Cetione.API/bin/Debug/netcoreapp3.0/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/pl/Microsoft.CodeAnalysis.resources.dll , 37752
Cetione.API/bin/Debug/netcoreapp3.0/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll , 80248
Cetione.API/bin/Debug/netcoreapp3.0/Properties/launchSettings.json , 653
Cetione.API/bin/Debug/netcoreapp3.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll , 315768
Cetione.API/bin/Debug/netcoreapp3.0/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16248
Cetione.API/bin/Debug/netcoreapp3.0/pt-BR/Microsoft.CodeAnalysis.resources.dll , 36728
Cetione.API/bin/Debug/netcoreapp3.0/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll , 80760
Cetione.API/bin/Debug/netcoreapp3.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll , 427896
Cetione.API/bin/Debug/netcoreapp3.0/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 16760
Cetione.API/bin/Debug/netcoreapp3.0/ru/Microsoft.CodeAnalysis.resources.dll , 43896
Cetione.API/bin/Debug/netcoreapp3.0/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll , 103288
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/alpine-x64/native/libe_sqlite3.so , 1079856
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/linux-arm/native/libe_sqlite3.so , 730432
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/linux-arm64/native/libe_sqlite3.so , 1009000
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/linux-armel/native/libe_sqlite3.so , 1033952
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/linux-musl-x64/native/libe_sqlite3.so , 1079856
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/linux-x64/native/libe_sqlite3.so , 1102088
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/linux-x86/native/libe_sqlite3.so , 1141796
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/osx-x64/native/libe_sqlite3.dylib , 3139712
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/unix/lib/netcoreapp2.0/System.Runtime.Caching.dll , 91792
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/unix/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll , 1116624
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll , 833904
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win/lib/netcoreapp2.0/System.Runtime.Caching.dll , 93832
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win/lib/netcoreapp2.1/Microsoft.Data.SqlClient.dll , 1227216
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll , 883568
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll , 32912
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win-arm64/native/sni.dll , 174224
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win-x64/native/e_sqlite3.dll , 1307648
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win-x64/native/sni.dll , 160040
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win-x86/native/e_sqlite3.dll , 1006080
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win-x86/native/sni.dll , 136488
Cetione.API/bin/Debug/netcoreapp3.0/runtimes/win8-arm/native/e_sqlite3.dll , 868864
Cetione.API/bin/Debug/netcoreapp3.0/SQLitePCLRaw.batteries_green.dll , 5120
Cetione.API/bin/Debug/netcoreapp3.0/SQLitePCLRaw.batteries_v2.dll , 5120
Cetione.API/bin/Debug/netcoreapp3.0/SQLitePCLRaw.core.dll , 38400
Cetione.API/bin/Debug/netcoreapp3.0/SQLitePCLRaw.provider.e_sqlite3.dll , 38912
Cetione.API/bin/Debug/netcoreapp3.0/SqlSugar.dll , 928768
Cetione.API/bin/Debug/netcoreapp3.0/System.Composition.AttributedModel.dll , 24840
Cetione.API/bin/Debug/netcoreapp3.0/System.Composition.Convention.dll , 59128
Cetione.API/bin/Debug/netcoreapp3.0/System.Composition.Hosting.dll , 62184
Cetione.API/bin/Debug/netcoreapp3.0/System.Composition.Runtime.dll , 29928
Cetione.API/bin/Debug/netcoreapp3.0/System.Composition.TypedParts.dll , 64760
Cetione.API/bin/Debug/netcoreapp3.0/System.Configuration.ConfigurationManager.dll , 382096
Cetione.API/bin/Debug/netcoreapp3.0/System.Data.SqlClient.dll , 237424
Cetione.API/bin/Debug/netcoreapp3.0/System.Runtime.Caching.dll , 36496
Cetione.API/bin/Debug/netcoreapp3.0/System.Security.Cryptography.ProtectedData.dll , 25232
Cetione.API/bin/Debug/netcoreapp3.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll , 311672
Cetione.API/bin/Debug/netcoreapp3.0/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 15736
Cetione.API/bin/Debug/netcoreapp3.0/tr/Microsoft.CodeAnalysis.resources.dll , 36728
Cetione.API/bin/Debug/netcoreapp3.0/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll , 78416
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll , 279928
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 15736
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll , 34680
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll , 71264
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll , 280440
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll , 15736
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll , 34680
Cetione.API/bin/Debug/netcoreapp3.0/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll , 71760
Cetione.API/Cetione.API.csproj , 946
Cetione.API/Cetione.API.csproj.user , 1066
Cetione.API/Cetione.API.sln , 1126
Cetione.API/Cetione.API.v12.suo , 12288
Cetione.API/Common/ConfigurationManager.cs , 699
Cetione.API/Common/Cryptography.cs , 8592
Cetione.API/Common/DbContext.cs , 1490
Cetione.API/Common/Sample.cs , 7932
Cetione.API/Common/WXBizMsgCrypt.cs , 10356
Cetione.API/Controllers/HomeController.cs , 3211
Cetione.API/Models/ErrorViewModel.cs , 221
Cetione.API/Models/Wx_SuiteTicket.cs , 833
Cetione.API/obj/Cetione.API.csproj.nuget.cache , 149
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录