Example #1
0
        //测试转换
        public string TestTran()
        {
            GetUsersHelper.AesIV  = "Lcpj9wNElgK9vuPXb9XmdQ==";
            GetUsersHelper.AesKey = "fQzhx8pyE7aqY1HwVZRL8A==";


            string result = GetUsersHelper.AESDecrypt("rk1fT8fL5uWHlvIFQAryrymM4jIbiaXdBy8lJ7Pt1vcVKumkq3b4K4TLWhPUxld/nE1bs/nasTp/QcyuJHFNKJibEcMkfOtTXoXXOK/FRIsLiEltIKUDWHfSHhDt24arWCWXBkqosEzVTH6BA3Dh6AEqjaAV+q9z+ho7KNZ471neNOFiZ1Y2ds3qwxx3eL8OhCkGelfwA9wVXs2d8sxy8lOwCUfK8Pi9PcIZnr2DPcXIhgfCFDl7bJNX668o4vEJlusQ7MUtvQRf6kHWVgNXzD16buCTynDCwY763jmrud4lYoQ/tzO6SK2o2WvOCsaY+ZiQDW8ACvIbfBeS9H53ftAbWw4W/2GOoC1o6BlGYmvj8p8/RllEahYROUIBLF7CWVyZVCYuy5yb2N7wY9ngxrjeg7Q8xBU07Lekk4sxdbiYZFBgFW2AgEJNcTyaY8nbHZKG1n00pMpTfkdsg7TdrQ==");


            return(result);
        }
Example #2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            writeFile("enter");
            string code          = "";
            string iv            = "";
            string encryptedData = "";
            string threedsession = "";

            try
            {
                code = HttpContext.Current.Request.QueryString["code"].ToString();
                writeFile("nice");
                writeFile(code);
                iv            = HttpContext.Current.Request.QueryString["iv"].ToString();
                encryptedData = HttpContext.Current.Request.QueryString["encryptedData"].ToString();
                //threedsession = HttpContext.Current.Request.QueryString["threedsession"].ToString();
            }
            catch (Exception ex)
            {
                context.Response.Write(ex.ToString());
            }
            writeFile(code);
            string Appid      = "wx2e67c9b918d371a4";
            string Secret     = "84060efaf50e9fa85a62963a36dbb4b2";
            string grant_type = "authorization_code";

            //向微信服务端 使用登录凭证 code 获取 session_key 和 openid
            string url  = "https://api.weixin.qq.com/sns/jscode2session?appid=" + Appid + "&secret=" + Secret + "&js_code=" + code + "&grant_type=" + grant_type;
            string type = "utf-8";

            writeFile(url);
            GetUsersHelper GetUsersHelper = new GetUsersHelper();
            string         j = GetUsersHelper.GetUrltoHtml(url, type);//获取微信服务器返回字符串

            writeFile(j);

            //将字符串转换为json格式
            JObject jo = (JObject)JsonConvert.DeserializeObject(j);

            writeFile(jo.ToString());

            result res = new result();

            try
            {
                //微信服务器验证成功
                res.openid      = jo["openid"].ToString();
                res.session_key = jo["session_key"].ToString();
                threedsession   = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16);
                writeFile(res.openid);
                writeFile(res.session_key);
                writeFile(threedsession);
                //GetUsersHelper GetUsers = new GetUsersHelper();
                // GetUsers.SetSession(threedsession, res.openid + "|" + res.session_key);
                SetCookie(threedsession, res.openid + "|" + res.session_key, 1);  //写code 保存到cookies
                //context.Response.Write(res.openid);
                //context.Response.Write("fail");
                // context.Response.Write(threedsession);
            }
            catch (Exception)
            {
                //微信服务器验证失败
                res.errcode = jo["errcode"].ToString();
                res.errmsg  = jo["errmsg"].ToString();
            }
            if (!string.IsNullOrEmpty(res.openid))
            {
                //用户数据解密
                GetUsersHelper.AesIV  = iv;
                GetUsersHelper.AesKey = res.session_key;

                string result = GetUsersHelper.AESDecrypt(encryptedData);
                writeFile(result);

                //存储用户数据
                JObject _usrInfo = (JObject)JsonConvert.DeserializeObject(result);

                userInfo userInfo = new userInfo();
                userInfo.openId = _usrInfo["openId"].ToString();

                try //部分验证返回值中没有unionId
                {
                    userInfo.unionId = _usrInfo["unionId"].ToString();
                }
                catch (Exception)
                {
                    userInfo.unionId = "unionId";
                }

                userInfo.nickName  = _usrInfo["nickName"].ToString();
                userInfo.gender    = _usrInfo["gender"].ToString();
                userInfo.city      = _usrInfo["city"].ToString();
                userInfo.province  = _usrInfo["province"].ToString();
                userInfo.country   = _usrInfo["country"].ToString();
                userInfo.avatarUrl = _usrInfo["avatarUrl"].ToString();

                object watermark = _usrInfo["watermark"].ToString();
                object appid     = _usrInfo["watermark"]["appid"].ToString();
                object timestamp = _usrInfo["watermark"]["timestamp"].ToString();
                writeFile(userInfo.nickName);
                writeFile(userInfo.city);
                writeFile(userInfo.province);
                writeFile(userInfo.country);
                context.Response.Write(result);
            }
            else
            {
                context.Response.Write(j);
            }
        }
Example #3
0
        public void ProcessRequest(HttpContext context)
        {
            kyfly.BLL.jichu_renyuanxinxiB bll = new kyfly.BLL.jichu_renyuanxinxiB(context);
            context.Response.ContentType = "text/plain";
            writeFile("getinfor");
            string phone         = "";
            string key           = "";
            string iv            = "";
            string encryptedData = "";
            string threedsession = "";
            string value         = "";

            try
            {
                phone         = HttpContext.Current.Request.QueryString["phone"].ToString();
                key           = HttpContext.Current.Request.QueryString["key"].ToString();
                iv            = HttpContext.Current.Request.QueryString["iv"].ToString();
                encryptedData = HttpContext.Current.Request.QueryString["encryptedData"].ToString();
                threedsession = HttpContext.Current.Request.QueryString["threedsession"].ToString();
            }
            catch (Exception ex)
            {
                context.Response.Write(ex.ToString());
            }
            writeFile(phone);
            writeFile(key);
            writeFile(iv);
            writeFile(encryptedData);
            writeFile(threedsession);
            if (!string.IsNullOrEmpty(threedsession))
            {
                GetUsersHelper GetUsersHelper = new GetUsersHelper();
                //用户数据解密
                if (HttpContext.Current.Request.Cookies["threedsession"] != null)
                {
                    value = HttpContext.Current.Request.Cookies["threedsession"].Value;
                }
                GetUsersHelper.AesIV  = iv;
                GetUsersHelper.AesKey = value;

                string result = GetUsersHelper.AESDecrypt(encryptedData);


                //存储用户数据
                JObject _usrInfo = (JObject)JsonConvert.DeserializeObject(result);

                userInfo userInfo = new userInfo();
                userInfo.openId = _usrInfo["openId"].ToString();

                try //部分验证返回值中没有unionId
                {
                    userInfo.unionId = _usrInfo["unionId"].ToString();
                }
                catch (Exception)
                {
                    userInfo.unionId = "unionId";
                }

                userInfo.nickName  = _usrInfo["nickName"].ToString();
                userInfo.gender    = _usrInfo["gender"].ToString();
                userInfo.city      = _usrInfo["city"].ToString();
                userInfo.province  = _usrInfo["province"].ToString();
                userInfo.country   = _usrInfo["country"].ToString();
                userInfo.avatarUrl = _usrInfo["avatarUrl"].ToString();

                object watermark = _usrInfo["watermark"].ToString();
                object appid     = _usrInfo["watermark"]["appid"].ToString();
                object timestamp = _usrInfo["watermark"]["timestamp"].ToString();

                bll.Add(userInfo.nickName, phone, userInfo.openId, key, "", "", "客户", "", "", "", "");
                //#region


                ////创建连接池对象(与数据库服务器进行连接)
                //SqlConnection conn = new SqlConnection("server=127.0.0.1;database=Test;uid=sa;pwd=1");
                ////打开连接池
                //conn.Open();
                ////创建命令对象
                //string Qrystr = "SELECT * FROM WeChatUsers WHERE openId='" + userInfo.openId + "'";
                //SqlCommand cmdQry = new SqlCommand(Qrystr, conn);
                //object obj = cmdQry.ExecuteScalar();
                //if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                //{
                //    string str = "INSERT INTO WeChatUsers ([UnionId] ,[OpenId],[NickName],[Gender],[City],[Province],[Country],[AvatarUrl],[Appid],[Timestamp],[Memo],[counts])VALUES('" + userInfo.unionId + "','" + userInfo.openId + "','" + userInfo.nickName + "','" + userInfo.gender + "','" + userInfo.city + "','" + userInfo.province + "','" + userInfo.country + "','" + userInfo.avatarUrl + "','" + appid.ToString() + "','" + timestamp.ToString() + "','来自微信小程序','1')";

                //    SqlCommand cmdUp = new SqlCommand(str, conn);
                //    // 执行操作
                //    try
                //    {
                //        int row = cmdUp.ExecuteNonQuery();
                //    }
                //    catch (Exception ex)
                //    {
                //        context.Response.Write(ex.ToString());
                //    }
                //}
                //else
                //{
                //    //多次访问,记录访问次数counts   更新unionId是预防最初没有,后期关联后却仍未记录
                //    string str = "UPDATE dbo.WeChatUsers SET counts = counts+1,UnionId = '" + userInfo.unionId + "' WHERE OpenId='" + userInfo.openId + "'";
                //    SqlCommand cmdUp = new SqlCommand(str, conn);
                //    int row = cmdUp.ExecuteNonQuery();
                //}

                ////关闭连接池
                //conn.Close();
                //#endregion

                //返回解密后的用户数据
                context.Response.Write(result);
            }
        }
Example #4
0
        /// <summary>
        /// 资讯用户插入
        /// </summary>
        /// <returns></returns>
        public string InsertUserNew()
        {
            string code          = "";
            string iv            = "";
            string encryptedData = "";

            try
            {
                code          = HttpContext.Request.QueryString["code"].ToString();
                iv            = HttpContext.Request.QueryString["iv"].ToString();
                encryptedData = Server.UrlDecode(HttpContext.Request.QueryString["encryptedData"].ToString());
            }


            catch (Exception ex)
            {
                Response.Write("code:" + code + "|iv:" + iv + "|encryptedData:" + encryptedData);
            }

            string Appid      = "wxba92380dc6210082";//资讯的
            string Secret     = "8938f3c2513bfc3883038284b67e0316";
            string grant_type = "authorization_code";

            //向微信服务端 使用登录凭证 code 获取 session_key 和 openid
            string url  = "https://api.weixin.qq.com/sns/jscode2session?appid=" + Appid + "&secret=" + Secret + "&js_code=" + code + "&grant_type=" + grant_type;
            string type = "utf-8";

            GetUsersHelper GetUsersHelper = new GetUsersHelper();
            string         j = GetUsersHelper.GetUrltoHtml(url, type);//获取微信服务器返回字符串
            //return string.Format("j:{0}---"+"code:" + code + "|iv:" + iv ,j);
            //将字符串转换为json格式
            JObject jo = (JObject)JsonConvert.DeserializeObject(j);

            OpenIdAndSessionKey res = new OpenIdAndSessionKey();

            try
            {
                //微信服务器验证成功
                res.openid      = jo["openid"].ToString();
                res.session_key = jo["session_key"].ToString();
            }
            catch (Exception)
            {
                //微信服务器验证失败
                res.errcode = jo["errcode"].ToString();
                res.errmsg  = jo["errmsg"].ToString();
            }
            if (!string.IsNullOrEmpty(res.openid))
            {
                //用户数据解密
                GetUsersHelper.AesIV  = iv;
                GetUsersHelper.AesKey = res.session_key;

                string result = GetUsersHelper.AESDecrypt(encryptedData);

                //return string.Format("j:{0}---" + "code:" + code + "|iv:" + iv + "result:" + result+ "encryptedData:"+ encryptedData+ "AesIV:"+iv+ "AesKey:"+ res.session_key, j);
                //存储用户数据
                JObject _usrInfo = (JObject)JsonConvert.DeserializeObject(result);

                WechatUserInfo userInfo = new WechatUserInfo();
                userInfo.openId = _usrInfo["openId"].ToString();

                try //部分验证返回值中没有unionId
                {
                    userInfo.unionId = _usrInfo["unionId"].ToString();
                }
                catch (Exception)
                {
                    userInfo.unionId = "unionId";
                }

                userInfo.nickName  = _usrInfo["nickName"].ToString();
                userInfo.gender    = _usrInfo["gender"].ToString();
                userInfo.city      = _usrInfo["city"].ToString();
                userInfo.province  = _usrInfo["province"].ToString();
                userInfo.country   = _usrInfo["country"].ToString();
                userInfo.avatarUrl = _usrInfo["avatarUrl"].ToString();

                object watermark = _usrInfo["watermark"].ToString();
                object appid     = _usrInfo["watermark"]["appid"].ToString();
                object timestamp = _usrInfo["watermark"]["timestamp"].ToString();

                //return "code:" + code + "|iv:" + iv + "|encryptedData:" + encryptedData + "openId:" + userInfo.openId;
                #region   插入数据库


                //创建连接池对象(与数据库服务器进行连接)
                MySqlConnection conn = new MySqlConnection("Database=ourtool;Data Source=101.201.69.84;Port=3306;User=root;Password=qsx123456;CharSet=utf8;Allow User Variables=True;Connect Timeout=300;");
                //打开连接池
                conn.Open();
                //创建命令对象
                string       Qrystr = "SELECT * FROM WeChatUsers WHERE openId='" + userInfo.openId + "'";
                MySqlCommand cmdQry = new MySqlCommand(Qrystr, conn);
                object       obj    = cmdQry.ExecuteScalar();
                if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                {
                    string str = "INSERT  into `ourtool`.`WeChatUsers` (   `OpenId`, `NickName`, `Gender`, `City`, `Province`, `Country`, `AvatarUrl`, `Appid`,  `Memo`, `Counts`,Type,CreateTime ) values('" + userInfo.openId + "','" + userInfo.nickName + "','" + userInfo.gender + "','" + userInfo.city + "','" + userInfo.province + "','" + userInfo.country + "','" + userInfo.avatarUrl + "','" + appid.ToString() + "','来自资讯小程序','1',2,now())";

                    MySqlCommand cmdUp = new MySqlCommand(str, conn);
                    // 执行操作
                    try
                    {
                        int row = cmdUp.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.ToString());
                    }
                }
                else
                {
                    //多次访问,记录访问次数counts   更新unionId是预防最初没有,后期关联后却仍未记录
                    string       str   = "UPDATE   WeChatUsers SET counts = counts+1,EditeTime=now()  WHERE OpenId='" + userInfo.openId + "'";
                    MySqlCommand cmdUp = new MySqlCommand(str, conn);
                    int          row   = cmdUp.ExecuteNonQuery();
                }

                //关闭连接池
                conn.Close();
                #endregion

                //返回解密后的用户数据
                //Response.Write(result);
            }
            else
            {
                //Response.Write(j);
            }

            return("code:" + code + "|iv:" + iv + "|encryptedData:" + encryptedData + "openId:" + res.openid);
        }
Example #5
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string iv            = "";
            string encryptedData = "";
            string threedsession = "";
            string value         = "";
            string openid        = "";

            string[] arr = new string[10];
            try
            {
                iv            = HttpContext.Current.Request.QueryString["iv"].ToString();
                encryptedData = HttpContext.Current.Request.QueryString["encryptedData"].ToString();
                threedsession = HttpContext.Current.Request.QueryString["threedsession"].ToString();
            }
            catch (Exception ex)
            {
                context.Response.Write(ex.ToString());
            }

            writeFile(iv);
            writeFile(encryptedData);
            writeFile(threedsession);
            if (!string.IsNullOrEmpty(threedsession))
            {
                writeFile("1");
                GetUsersHelper GetUsersHelper = new GetUsersHelper();

                writeFile("cooming");

                value = threedsession.ToString();
                writeFile(value);
                arr    = value.Split('|');
                openid = arr[0];
                writeFile(openid);
                value = arr[1];
                writeFile(value);

                GetUsersHelper.AesIV  = iv;
                GetUsersHelper.AesKey = value;
                writeFile(value);
                string result = GetUsersHelper.AESDecrypt(encryptedData);
                writeFile(result);

                //存储用户数据
                JObject _usrInfo = (JObject)JsonConvert.DeserializeObject(result);

                userInfo userInfo = new userInfo();
                userInfo.phoneNumber     = _usrInfo["phoneNumber"].ToString();     //用户绑定的手机号
                userInfo.purePhoneNumber = _usrInfo["purePhoneNumber"].ToString(); //没有区号的手机号
                userInfo.countryCode     = _usrInfo["countryCode"].ToString();     //区号

                object watermark = _usrInfo["watermark"].ToString();
                object appid     = _usrInfo["watermark"]["appid"].ToString();
                object timestamp = _usrInfo["watermark"]["timestamp"].ToString();

                writeFile(userInfo.phoneNumber);
                writeFile(userInfo.purePhoneNumber);
                writeFile(userInfo.countryCode);


                context.Response.Write(result);
            }
            else
            {
                writeFile("threesession null");
                context.Response.Write("threesession null");
            }
        }