Пример #1
0
        private void ProcessMessage(WebSocket sender, string message)
        {
            try
            {
                JObject receive = JObject.Parse(message);
                switch (Enum.Parse(typeof(PackType), receive["type"].ToString()))
                {
                case PackType.pack:
                    switch (Enum.Parse(typeof(ServerCauseType), receive["cause"].ToString()))
                    {
                    case ServerCauseType.runcmdfeedback:
                        CauseRuncmdFeedback feedback = new CauseRuncmdFeedback(receive);
                        OutPut(sender.Url, "命令执行反馈", [email protected]);
                        return;
                    }
                    //if (receive["Auth"].ToString() == "Failed")
                    //{
                    //    OutPut(((WebSocket)sender).Url, "命令执行反馈", "密码不匹配!!!");
                    //}
                    //else
                    //{
                    //
                    //}
                    break;

                case PackType.encrypted:
                    EncryptedPack ep = new EncryptedPack(receive);
                    //switch ([email protected])
                    //{
                    //    case EncryptionMode.aes_cbc_pck7padding:
                    OutPut(sender.Url, "解密包:" + message);
                    string passwd = null;
                    Dispatcher.Invoke(() => passwd = ((WS)((ComboBoxItem)SelectServer.SelectedItem).Tag).info["Password"].ToString());
                    string decoded = ep.Decode(passwd);
                    ProcessMessage(sender, decoded);
                    //return;
                    //}
                    break;

                //return;
                default:
                    break;
                }
            }
            catch (Exception) { }
            try
            {
                OutPut(sender.Url, $"收信:\n{JObject.Parse(message)}");
            }
            catch (Exception)
            {
                OutPutErr(sender.Url, $"解析失败:{message}");
            }
        }
Пример #2
0
        public string GetEncryptedReq(string from, string token)
        {
            EncryptedPack encrypted = new EncryptedPack(EncryptionMode.aes_cbc_pck7padding, from, token);

            return(encrypted.ToString());
        }