Beispiel #1
0
        private string FormatMessage(MessageResponse response)
        {
            var message = response.ToXml().Replace("\0", string.Empty);

            if (_messageConfig.MessageEncryptModel == EncryptModel.Encrypt)
            {
                var encryptResponse = new EncryptMessageResponse
                {
                    Nonce     = Helper.GetNonceStr(),
                    TimeStamp = Helper.GetTimestamp().ToString(CultureInfo.InvariantCulture),
                    Value     = MessageCryptography.AesEncrypt(message, _messageConfig.EncodingAesKey, _messageConfig.AppId)
                };
                string sign = Check.GetWeChatMessageSign(_messageConfig.EncodingAesKey, encryptResponse.Nonce,
                                                         encryptResponse.TimeStamp,
                                                         message);
                encryptResponse.Sign = sign;
                return(XmlSerializeHelper.ObjectToXmlString(encryptResponse).Replace("\0", string.Empty));
            }

            return(message);
        }