public static void EncryptionTest()
        {
            string plainText  = "pp47026791";
            string cipherText = EncryptHelper.AESEncrypt(plainText);

            plainText = EncryptHelper.AESDecrypt(cipherText);
        }
        public JsonResult Register([FromBody] t_user clientModel)
        {
            //参数过滤
            if (string.IsNullOrEmpty(clientModel.userAccount))
            {
                return(Json(Rsp.Fail("账号不能为空", -1)));
            }
            if (string.IsNullOrEmpty(clientModel.userPwd))
            {
                return(Json(Rsp.Fail("密码不能为空", -2)));
            }
            var userModel = _userService.GetUserInfo(clientModel.userAccount);

            if (userModel != null)
            {
                return(Json(Rsp.Fail("账号已存在", -3)));
            }
            else
            {
                //密码加密
                clientModel.userPwd = EncryptHelper.AESEncrypt(clientModel.userPwd, "DNLiCore");
                int resultInt = _userService.AddUser(clientModel);
                return(Json(Rsp.Success(resultInt.ToString())));
            }
        }
        static void AESTest()
        {
            Console.WriteLine("===================C# AES-ECB-PKCS7padding Demo===================");
            string str   = "english string to encrypt";
            string enStr = EncryptHelper.AESEncrypt(str);

            Console.WriteLine("Encrypt:\n" + str + "\nto:\n" + enStr);
            Console.WriteLine("========================================================");
            string deStr = EncryptHelper.AESDecrypt(enStr);

            Console.WriteLine("Decrypt:\n" + enStr + "\nto:\n" + deStr);
            Console.WriteLine("========================================================");
            string cnStr   = "锄禾日当午";
            string enCNStr = EncryptHelper.AESEncrypt(cnStr);

            Console.WriteLine("加密::\n" + cnStr + "\n到:\n" + enCNStr);
            Console.WriteLine("========================================================");
            string deCNStr = EncryptHelper.AESDecrypt(enCNStr);

            Console.WriteLine("解密:\n" + enCNStr + "\n到:\n" + deCNStr);
            Console.WriteLine("========================================================");
            string longStr   = "测试要加密的长文本哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈";
            string enLongStr = EncryptHelper.AESEncrypt(longStr);

            Console.WriteLine("加密::\n" + longStr + "\n到:\n" + enLongStr);
            string deLongStr = EncryptHelper.AESDecrypt(enLongStr);

            Console.WriteLine("解密:\n" + enLongStr + "\n到:\n" + deLongStr);
            Console.WriteLine();
        }
        public void AESEncryptTest()
        {
            var key = "SENPARC_KEY";
            {
                //加密-CBC
                var inputBytes = Encoding.UTF8.GetBytes(encypStr);
                var iv         = Encoding.UTF8.GetBytes("SENPARC_IV;SENPA");//16字节

                var encryptResult = Convert.ToBase64String(EncryptHelper.AESEncrypt(inputBytes, iv, key));
                Console.WriteLine("Result:" + encryptResult);
                Assert.AreEqual("Q0l9E//huAwYXzYmxMWusw==", encryptResult);


                //解密-CBC
                inputBytes = Convert.FromBase64String(encryptResult);
                var decryptResult = Encoding.UTF8.GetString(EncryptHelper.AESDecrypt(inputBytes, iv, key));
                Assert.AreEqual(encypStr, decryptResult);
            }

            {
                //加密-CEB
                var encryptResult = EncryptHelper.AESEncrypt(encypStr, key);
                Console.WriteLine("CEB encrypt:" + encryptResult);
                //Assert.AreEqual("raQCWEp5ngocSs5R8srxkg==", encryptResult);
                Assert.IsTrue(encryptResult.Length > 0);

                //解密-CEB
                var cebResult = EncryptHelper.AESDecrypt(encryptResult, key);
                Console.WriteLine("CEB decrypt:" + cebResult);
                Assert.AreEqual(encypStr, cebResult);
            }
        }
Beispiel #5
0
        public IActionResult GetPassWord_Email()
        {
            B_MailManage mailBll = new B_MailManage();

            if (!VerifyHelper.Check(RequestEx["VCode_Hid"]))
            {
                return(WriteErr("验证码不正确", "/User/GetPassword"));
            }
            M_UserInfo mu = GetUserByName(RequestEx["TxtUserName"]);

            if (string.IsNullOrEmpty(mu.Email) || mu.Email.Contains("@random"))
            {
                return(WriteErr("用户未设置邮箱,无法通过邮箱找回"));
            }
            //生成Email验证链接
            string seturl = function.GetRandomString(12) + "," + DateTime.Now.ToString();

            mu.seturl = EncryptHelper.AESEncrypt(seturl);
            buser.UpDateUser(mu);
            //Email发送
            string url       = SiteConfig.SiteInfo.SiteUrl + "/User/Change/GetPassWord?key=" + mu.seturl + "&uid=" + mu.UserID;
            string returnurl = "<a href=\"" + url + "\" target=\"_blank\">" + url + "</a>";
            string content   = mailBll.SelByType(B_MailManage.MailType.RetrievePWD);

            content = new OrderCommon().TlpDeal(content, GetPwdEmailDt(mu.UserName, SiteConfig.SiteInfo.SiteName, returnurl));
            MailInfo mailInfo = SendMail.GetMailInfo(mu.Email, SiteConfig.SiteInfo.SiteName, SiteConfig.SiteInfo.SiteName + "_找回密码", content);

            SendMail.Send(mailInfo);
            //不需要更新步骤,其从邮箱进入地址栏后再更新
            string emailUrl = B_Plat_Common.GetMailSite(mu.Email);

            return(WriteOK("密码重设请求提交成功,<a href='" + emailUrl + "' target='_blank'>请前往邮箱查收</a>!!"));
        }
        public ActionResult SetPassword(Sys_Users us)
        {
            ServiceReturnMsg srm = new ServiceReturnMsg();

            try
            {
                Sys_Users entity = db.Sys_Users.Where(it => it.Id == us.Id).FirstOrDefault();
                if (entity.Password != EncryptHelper.AESEncrypt(us.Password))
                {
                    srm.ReturnCode = 0;
                    srm.ReturnMsg  = "您的旧密码输入错误";
                    return(Json(srm));
                }
                entity.Password = EncryptHelper.AESEncrypt(us.NewPassword);

                db.Entry(entity).State = EntityState.Modified;
                int row = db.SaveChanges();
                srm.ReturnCode = row > 0 ? 1 : 0;
                srm.ReturnMsg  = row > 0 ? "密码修改成功!" : "密码修改失败!";
            }
            catch (Exception ex)
            {
                srm.ReturnCode = 0;
                srm.ReturnMsg  = "保存出错," + ex.Message;
            }

            return(Json(srm));
        }
Beispiel #7
0
 //----------------Tools
 public string CreateOpenID(M_UserInfo mu)
 {
     if (mu.IsNull || string.IsNullOrEmpty(mu.UserName) || string.IsNullOrEmpty(mu.UserPwd))
     {
         throw new Exception("OpenID用户信息不正确");
     }
     return(EncryptHelper.AESEncrypt(mu.UserName + ":::" + mu.UserPwd));
 }
Beispiel #8
0
        /// <summary>
        /// app用户登录
        /// </summary>
        /// <returns></returns>
        public ActionResult UserLogin()
        {
            KDMSEntities db    = new KDMSEntities();
            Sys_Users    model = new Sys_Users();

            UpdateModel(model, Request.Form.AllKeys);
            if (model.Password == null)
            {
                return(Redirect("/App/Login?success=-1"));
            }
            else
            {
                string passWord = EncryptHelper.AESEncrypt(model.Password);
                var    User     = db.Sys_Users.Where(t => t.LoginName == model.LoginName && t.Password == passWord);

                if (User.FirstOrDefault() != null)
                {
                    HttpCookie userCookie = new HttpCookie("UserInfo");
                    model = User.FirstOrDefault();
                    //用户信息
                    userCookie["LoginName"] = model.LoginName;
                    userCookie["UserName"]  = HttpUtility.UrlEncode(model.UserName);
                    userCookie["UserId"]    = model.Id.ToString();

                    //个人权限
                    var ListUserRole = db.Sys_Roles.Join(db.Sys_UserRole, r => r.RoleCode, ur => ur.RoleCode, (r, ur) => new { r, ur.UserId })
                                       .Where(t => t.UserId == model.Id).ToList();
                    int IsApp = 0;
                    if (ListUserRole.Count > 0)
                    {
                        string RoleID = "";
                        foreach (var rol in ListUserRole)
                        {
                            RoleID += "'" + rol.r.RoleCode + "',";
                            //得到app页面权限
                            if (rol.r.IsApp == 1)
                            {
                                IsApp = 1;
                            }
                        }
                        if (RoleID != "")
                        {
                            userCookie["RoleID"] = RoleID.Remove(RoleID.Length - 1);
                        }
                    }
                    userCookie["IsApp"] = IsApp.ToString();
                    userCookie.HttpOnly = true;
                    Response.Cookies["UserInfo"].Expires = DateTime.Now.AddYears(1);
                    Response.Cookies.Add(userCookie);
                    return(Redirect("/App/ShopList"));
                }
                else
                {
                    return(Redirect("/App/Login?success=0"));
                }
            }
        }
        public async Task <ActionResult> Login(string un, string pwd, string validateCode)
        {
            int re = 0;

            if (string.IsNullOrEmpty(un))
            {
                re = 1;//"用户名不能为空~";
            }
            else if (string.IsNullOrEmpty(pwd))
            {
                re = 2;//"密码不能为空~";
            }
            //else if (string.IsNullOrEmpty(validateCode))
            //{
            //    re = 3;//"验证码不能为空~";
            //}
            //else if (Session["CheckCode"] == null || !validateCode.Equals(Session["CheckCode"].ToString(), StringComparison.OrdinalIgnoreCase))
            //{
            //    //ValidatedCode v = new ValidatedCode(16);
            //    //string code = v.CreateVerifyCode();
            //    //v.CreateImageOnPage(code, HttpContext.Current);
            //    //HttpContext.Current.Session["CheckCode"] = code;
            //    re = 4;//"验证码不正确~";
            //}
            else
            {
                Session["CheckCode"] = null;
                //string query = string.Format("?pageIndex={0}&pageSize={1}&orderBy={2}&where={3}", pageIndex, pageSize, orderBy, base64Where);

                string encodePwd = EncryptHelper.Md5(EncryptHelper.AESEncrypt(pwd));
                Dictionary <string, object> dict = new Dictionary <string, object>();
                dict.Add("userName", un);
                dict.Add("passWord", encodePwd);

                var listStr = await HttpClientHelper.PostAsync(folderName, "users", dict, "UserLogin");

                if (listStr != null && listStr != "null")
                {
                    var userDatas = Common.Deserialize <UserDatas>(listStr);
                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, un, DateTime.Now, DateTime.Now.AddMinutes(30), false, listStr, "/");
                    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
                    cookie.HttpOnly = true;
                    cookie.Expires  = ticket.Expiration;
                    FormsAuthentication.SetAuthCookie(un, false);
                    //FormsAuthentication.RedirectFromLoginPage(un, true);
                    Session["User"] = userDatas;
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    re = 5;// "用户名或密码不正确";
                }
            }

            return(Content(re.ToString(), "text/json"));
        }
Beispiel #10
0
        /// <summary>
        /// 加密数据库连接字符串
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            //获取
            string mingwen = textBox1.Text.Trim();
            //加密
            string miwen = EncryptHelper.AESEncrypt(mingwen);

            //赋值
            textBox2.Text = miwen;
        }
Beispiel #11
0
 /// <summary>
 /// 获取Db密码
 /// </summary>
 /// <param name="sn"></param>
 /// <returns></returns>
 private string GetDbEncryptPwd(string orgPwd)
 {
     //计算序列号,huhaiming,2008
     if (orgPwd != "")
     {
         return(EncryptHelper.AESEncrypt(orgPwd, ServerGlobalData.DBConnEncryptKey));
     }
     else
     {
         return("");
     }
 }
Beispiel #12
0
 /// <summary>
 /// 获取服务注册码
 /// </summary>
 /// <param name="sn"></param>
 /// <returns></returns>
 private string GetServerRegKey(string sn)
 {
     //计算序列号,huhaiming,2008
     if (sn != "")
     {
         return(EncryptHelper.AESEncrypt(sn, "xxK9stU" + ServerGlobalData.RegEncryptKey));
     }
     else
     {
         return("");
     }
 }
Beispiel #13
0
        private static string GetToken(string loginName)
        {
            //生成用户验证token
            var key     = "www.zoewin.com";
            var request = HttpContext.Current.Request;
            var uid     = EncryptHelper.AESEncrypt(loginName, key);
            var sid     = EncryptHelper.DESEncrypt(GetUniqueID());
            var md5     = EncryptHelper.MD5(uid + sid);
            var token   = md5.Substring(Math.Min(loginName.Length, 10), 16);

            return(token);
        }
Beispiel #14
0
        //test
        private void button2_Click(object sender, EventArgs e)
        {
            //string txt=this.GetDbEncryptPwd(this.txtDbOrgPwd.Text);
            //this.txtDbEncryptPwd.Text = txt;

            string orgCode = "HuHaiMing test";
            string key     = "12345678913424234234";

            //MessageBox.Show(EncryptHelper.AESDecrypt(txt, ServerGlobalData.DBConnEncryptKey));
            MessageBox.Show(EncryptHelper.AESDecrypt(EncryptHelper.AESEncrypt(orgCode, key), key));
            //MessageBox.Show(EncryptHelper.DESDecrypt(EncryptHelper.DESEncrypt(orgCode, key), key));
            MessageBox.Show(EncryptHelper.SHA256Encrypt(orgCode));
        }
Beispiel #15
0
        /// <summary>
        /// 传入需要存储的文件类型,返回路径
        /// </summary>
        public static string GetDirPath(SaveType stype)
        {
            B_Plat_Comp compBll = new B_Plat_Comp();
            M_User_Plat upMod   = B_User_Plat.GetLogin();
            M_Plat_Comp compMod = compBll.SelReturnModel(upMod.CompID);

            if (string.IsNullOrEmpty(compMod.UPPath))
            {
                compMod.UPPath = compBll.CreateUPPath(compMod); compBll.UpdateByID(compMod);
            }
            string bPath     = SiteConfig.SiteOption.UploadDir;
            string persondir = EncryptHelper.AESEncrypt(upMod.UserID + ":" + (upMod.UserName.Length > 4 ? upMod.UserName.Substring(0, 3) : upMod.UserName)) + "/";
            string vpath     = bPath + "Plat/" + compMod.UPPath.Trim('/') + "/";

            switch (stype)
            {
            case SaveType.Company:    //公司文件,网盘等
                vpath += "DocCenter/Common/";
                break;

            case SaveType.Company_P:    //公司私有文件,如Logo等
                vpath += "Private/";
                break;

            case SaveType.Person:    //个人文件,用于网盘(可共享信息)
                vpath += "DocCenter/" + persondir;
                break;

            case SaveType.Person_P:    //私人文件,如头像等信息(非共享信息)
                vpath += "Person/" + persondir;
                break;

            case SaveType.Blog:    //用户博客上传的附件
                vpath += "Blog/" + persondir;
                break;

            case SaveType.Plat_Task:    //需要再加上TaskName
                vpath += "Task/";
                break;

            case SaveType.Plat_Project:
                vpath += "Object/";
                break;
            }
            return(vpath);
        }
        private static void Main_EncryptHelper(string[] args)
        {
            string str   = "需要加密的字符串12345678";
            string md5_1 = EncryptHelper.Md5(str);
            string md5_2 = EncryptHelper.Md5(str, Encoding.UTF8);

            str = "10086";
            string secretKey_AES = Guid.NewGuid().ToString("N");
            string JiaMi         = EncryptHelper.AESEncrypt(str, secretKey_AES);
            string JieMi         = EncryptHelper.AESDecrypt(JiaMi, secretKey_AES);

            string secretKey_DES = "fsT7ObM1nEnrRAGO1djI2YBi";
            string ivs_DES       = "GUGlYE1g";

            JiaMi = EncryptHelper.DESEncrypt(str, secretKey_DES, ivs_DES);
            JieMi = EncryptHelper.DESDecrypt(JiaMi, secretKey_DES, ivs_DES);
        }
Beispiel #17
0
    [WebMethod]//密钥验证
    public DataTable GetContentDT(string key, string nodeids)
    {
        string    sql      = "Select GeneralID,NodeID,Title,CreateTime,Inputer,TableName,[Status],HtmlLink From ZL_CommonModel Where [Status]=99";
        DataTable dt       = new DataTable();
        string    siteName = SiteConfig.SiteInfo.SiteName;;

        dt.TableName = siteName;
        if (!string.IsNullOrEmpty(nodeids))
        {
            SafeSC.CheckIDSEx(nodeids);
            sql += " And NodeID in(" + nodeids + ")";
        }
        if (!string.IsNullOrEmpty(SiteConfig.SiteOption.SiteCollKey) && key.Equals(EncryptHelper.AESEncrypt(SiteConfig.SiteOption.SiteCollKey)))
        {
            string url = SiteConfig.SiteInfo.SiteUrl.TrimEnd('/');
            dt = SqlHelper.ExecuteTable(CommandType.Text, sql);
            dt.Columns.Add(new DataColumn("PageUrl", typeof(string)));
            dt.Columns.Add(new DataColumn("SiteName", typeof(string)));
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];
                dr["SiteName"] = siteName;
                if (!string.IsNullOrEmpty(dr["HtmlLink"].ToString()))
                {
                    dr["PageUrl"] = url + dr["HtmlLink"];
                }
                else//未生成静态页
                {
                    string tbname = dr["TableName"].ToString();
                    if (tbname.Contains("ZL_C_"))
                    {
                        dr["PageUrl"] = url + "/Item/" + dr["GeneralID"] + ".aspx";
                    }
                    else if (tbname.Contains("ZL_S_") || tbname.Contains("ZL_P_"))
                    {
                        dr["PageUrl"] = url + "/Shop/" + dr["GeneralID"] + ".aspx";
                    }
                    //else if (tbname.Contains("ZL_Page_"))///Page/Pagecontent.aspx?Pageid=8&itemid=9686
                    //{
                    //    tr["PageUrl"] = url + "/Item/" + tr["GeneralID"] + ".aspx";
                    //}
                }
            }//for end;
        }
        return(dt);
    }
        public async Task <ActionResult> UpdatePwd(string pwd1, string pwd2)
        {
            int id = CurrentUser == null ? 0 : CurrentUser.UserId;

            if (id == 0)
            {
                return(Content("0"));
            }
            else
            {
                Dictionary <string, object> dict = new Dictionary <string, object>();
                dict.Add("id", id);
                dict.Add("pwd1", EncryptHelper.Md5(EncryptHelper.AESEncrypt(pwd1)));
                dict.Add("pwd2", EncryptHelper.Md5(EncryptHelper.AESEncrypt(pwd2)));
                var result = await HttpClientHelper.PostAsync(folderName, "users", dict, "UpdatePwd");

                return(Content(result, "text/json"));
            }
        }
Beispiel #19
0
        private void Update(int rowNum, string id)
        {
            GridViewRow gr = EGV.Rows[rowNum];

            ip     = ((TextBox)gr.FindControl("eSiteUrl")).Text.Trim();
            user   = ((TextBox)gr.FindControl("eSiteUser")).Text.Trim();
            passwd = ((TextBox)gr.FindControl("eSitePasswd")).Text.Trim();
            passwd = EncryptHelper.AESEncrypt(passwd);
            cp     = ((TextBox)gr.FindControl("eCustomPath")).Text.Trim();
            sn     = ((TextBox)gr.FindControl("eSiteName")).Text.Trim();
            SqlParameter[] sp = new SqlParameter[] {
                new SqlParameter("ID", id),
                new SqlParameter("SiteUser", user),
                new SqlParameter("SitePasswd", passwd),
                new SqlParameter("SiteUrl", ip),
                new SqlParameter("SiteName", sn),
                new SqlParameter("CustomPath", cp)
            };
            SqlHelper.ExecuteScalar(CommandType.Text, "Update " + tableName + " set siteUser=@SiteUser,SitePasswd=@SitePasswd,SiteUrl=@SiteUrl,SiteName=@SiteName,customPath=@CustomPath Where ID=@ID", sp);
        }
Beispiel #20
0
        //检测是否注册
        private void CheckRegInfo()
        {
            if (ServerGlobalData.IsNeedRegService)
            {
                string[] hardwareInfo;      //硬件信息
                string   hardwareSN   = ""; //硬件序列号
                string   serverRegKey = ""; //注册码

                serverRegKey = ConfigurationSettings.AppSettings["ServerRegKey"];

                //根据硬件信息得到加密后的序列号
                hardwareInfo = EncryptHelper.GetHardwareSN();
                hardwareSN   = EncryptHelper.MD5Encrypt("HUHM" + hardwareInfo[0] + hardwareInfo[1]);

                //比较加密后的序列号与注册码是否一致
                if (EncryptHelper.AESEncrypt(hardwareSN, "xxK9stU" + ServerGlobalData.RegEncryptKey) != serverRegKey)
                {
                    throw new Exception("Invalid RegKey,Hardware SN is(无效的注册码,机器序列号是): " + hardwareSN);
                }
            }
        }
Beispiel #21
0
 protected void addBtn_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(siteUrl.Text.Trim()))
     {
         user   = siteUser.Text.Trim();
         passwd = EncryptHelper.AESEncrypt(sitePasswd.Text.Trim());
         ip     = siteUrl.Text.Trim().TrimEnd('/');
         cp     = NewcustomPath.Text.Trim();
         sn     = siteName.Text.Trim();
         SqlParameter[] sp = new SqlParameter[] {
             new SqlParameter("SiteUser", user),
             new SqlParameter("SitePasswd", passwd),
             new SqlParameter("SiteUrl", ip),
             new SqlParameter("SiteName", sn),
             new SqlParameter("CustomPath", cp)
         };
         SqlHelper.ExecuteScalar(CommandType.Text, "Insert Into " + tableName + " (siteUser,SitePasswd,SiteUrl,SiteName,customPath) values(@SiteUser,@SitePasswd,@SiteUrl,@SiteName,@CustomPath)", sp);
         DataBind();
     }
     this.table_ul.Style.Add("display", "none");
     this.add_table.Style.Add("display", "block");
 }
        //登录,因为Chrome自动填充问题,所以与IDC保存分开
        protected void logBtn_Click(object sender, EventArgs e)
        {
            string name   = adminName.Text.Trim();
            string passwd = adminPasswd.Text.Trim();

            if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(passwd))
            {
                function.Script(this, "alert('用户名和密码不能为空');");
                return;
            }
            StationGroup.EnableSA   = true;
            StationGroup.SAName     = EncryptHelper.AESEncrypt(name);
            StationGroup.SAPassWord = EncryptHelper.AESEncrypt(passwd);
            StationGroup.DefaultIP  = defaultIP.Text.Trim();
            StationGroup.Update();

            //-----更新网站列表至数据库,无则插入
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            iisHelper.SyncDB();
            //-----
            function.WriteSuccessMsg("更新成功", "Default.aspx");
        }
Beispiel #23
0
        //每半小时检测一次,如未发送过邮件且超过24小时,则发送
        public void SendEmailToUser()
        {
            string siteUrl  = SiteConfig.SiteInfo.SiteUrl + "/BU/Comment.aspx?p=";
            string mailHtml = EventDeal.Tlp_Read("订单成交24小时后_用户");

            //已支付,已满24小时,未发送过邮件的订单
            string where = "ParentID=0 AND (Payment!='' AND Payment IS NOT NULL) ";
            where       += " AND DATEDIFF(HOUR,AddTime,GETDATE())>=24";
            DataTable orderDT = DBCenter.Sel("ZL_OrderInfo", where);

            for (int i = 0; i < orderDT.Rows.Count; i++)
            {
                try
                {
                    DataRow     dr       = orderDT.Rows[i];
                    M_OrderList orderMod = new M_OrderList().GetModelFromReader(orderDT.Rows[i]);
                    string      url      = siteUrl + EncryptHelper.AESEncrypt(orderMod.id.ToString());
                    string      html     = mailHtml.Replace("{LinkUrl}", "<a href='" + siteUrl + "' target='_blank'>" + siteUrl + "</a>");
                    EventDeal.SendToEmail(orderMod.Email, "Order Comment", mailHtml, orderMod.id.ToString());
                    DBCenter.UpdateSQL(orderMod.TbName, "ParentID=1", "ID=" + orderMod.id);
                }
                catch (Exception ex) { ZLLog.L("邮件24小时通知 Error:[" + orderDT.Rows[i]["ID"] + "]" + ex.Message); }
            }
        }
Beispiel #24
0
        //生成时间戳,参数使用来源,示例:Plat
        public static string GetTimeStamp(string salt)
        {
            string time = DateTime.Now.ToString("yyyyMMddhhmm");

            return(EncryptHelper.AESEncrypt(salt + ":" + time));
        }
 public string Encrypt(string input, string key)
 {
     return(EncryptHelper.AESEncrypt(input, key));
 }
Beispiel #26
0
        // GET: Login
        #region  登录
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <returns></returns>
        public ActionResult UserLogin()
        {
            KDMSEntities db    = new KDMSEntities();
            Sys_Users    model = new Sys_Users();

            UpdateModel(model, Request.Form.AllKeys);
            if (model.Password == null)
            {
                return(Redirect("/Home/Login?success=-1"));
            }
            else
            {
                string passWord = EncryptHelper.AESEncrypt(model.Password);

                //List<User_Account> list = new User_AccountBLL().UserLogin(model.LoginName, passWord);
                var User = db.Sys_Users.Where(t => t.LoginName == model.LoginName && t.Password == passWord);

                if (User.FirstOrDefault() != null)
                {
                    HttpCookie userCookie = new HttpCookie("UserInfo");

                    //用户已禁用
                    //if (list[0].Enabled == true)
                    //{
                    //    return Redirect("/Home/Login?success=1");
                    //}

                    //bCompany company = new bCompanyBLL().GetModelByUserID(model.Id);
                    //if (company != null)
                    //{
                    //    HttpCookieHelper.SetCookie("AppCompanyNo", company.companyNO, DateTime.Now.AddYears(1));
                    //}
                    model = User.FirstOrDefault();
                    //用户信息
                    userCookie["LoginName"] = model.LoginName;
                    userCookie["UserName"]  = HttpUtility.UrlEncode(model.UserName);
                    userCookie["UserId"]    = model.Id.ToString();

                    //HttpCookieHelper.SetCookie("LoginName", model.LoginName, DateTime.Now.AddYears(1));
                    //HttpCookieHelper.SetCookie("PassWord", model.Password, DateTime.Now.AddYears(1));
                    //HttpCookieHelper.SetCookie("UserName", HttpUtility.UrlEncode(model.UserName), DateTime.Now.AddYears(1));
                    //HttpCookieHelper.SetCookie("UserId", model.Id.ToString(), DateTime.Now.AddYears(1));
                    //个人权限
                    var ListUserRole = db.Sys_Roles.Join(db.Sys_UserRole, r => r.RoleCode, ur => ur.RoleCode, (r, ur) => new { r.RoleCode, ur.UserId })
                                       .Where(t => t.UserId == model.Id).ToList();

                    if (ListUserRole.Count > 0)
                    {
                        string RoleID = "";
                        foreach (var rol in ListUserRole)
                        {
                            RoleID += "'" + rol.RoleCode + "',";
                        }
                        if (RoleID != "")
                        {
                            userCookie["RoleID"] = RoleID.Remove(RoleID.Length - 1);
                        }
                    }

                    userCookie.HttpOnly = true;
                    Response.Cookies["UserInfo"].Expires = DateTime.Now.AddYears(1);
                    Response.Cookies.Add(userCookie);
                    return(Redirect("/Home/Index"));
                }
                else
                {
                    return(Redirect("/Home/Login?success=0"));
                }
            }
        }
Beispiel #27
0
 //--------------Tools
 public string CreateUPPath(M_Plat_Comp compMod)
 {
     compMod.UPPath = compMod.ID + ":" + compMod.CreateUser + ":zoomla";
     compMod.UPPath = EncryptHelper.AESEncrypt(compMod.UPPath);
     return(compMod.UPPath);
 }
Beispiel #28
0
        public string Service()
        {
            //获取配置文件中的数据
            var token          = "";
            var encodingAESKey = "";
            var appId          = "";

            bool isGet  = string.Equals(HttpContext.Request.Method, HttpMethod.Get.Method, StringComparison.OrdinalIgnoreCase);
            bool isPost = string.Equals(HttpContext.Request.Method, HttpMethod.Post.Method, StringComparison.OrdinalIgnoreCase);

            if (!isGet && !isPost)
            {
                return("");
            }

            bool isEncrypt = false;

            try
            {
                var    query = HttpContext.Request.QueryString.ToString();
                string msg_signature = "", nonce = "", timestamp = "", encrypt_type = "", signature = "", echostr = "";

                if (!string.IsNullOrEmpty(query))//需要验证签名
                {
                    var collection = HttpUtility.ParseQueryString(query);
                    msg_signature = collection["msg_signature"]?.Trim();
                    nonce         = collection["nonce"]?.Trim();
                    timestamp     = collection["timestamp"]?.Trim();
                    encrypt_type  = collection["encrypt_type"]?.Trim();
                    signature     = collection["signature"]?.Trim();
                    echostr       = collection["echostr"]?.Trim();

                    if (!string.IsNullOrEmpty(encrypt_type))                                         //有使用加密
                    {
                        if (!string.Equals(encrypt_type, "aes", StringComparison.OrdinalIgnoreCase)) //只支持AES加密方式
                        {
                            return("");
                        }
                        isEncrypt = true;
                    }
                }

                //先验证签名
                if (!string.IsNullOrEmpty(signature))
                {
                    //字符加密
                    var sha1 = MakeSign(nonce, timestamp, token);
                    if (!sha1.Equals(signature, StringComparison.OrdinalIgnoreCase))//验证不通过
                    {
                        return("");
                    }

                    if (isGet)//是否Get请求,如果true,那么就认为是修改服务器回调配置信息
                    {
                        return(echostr);
                    }
                }
                else
                {
                    return("");//没有签名,请求直接返回
                }

                var body = new StreamReader(HttpContext.Request.Body).ReadToEnd();

                if (isEncrypt)
                {
                    XDocument doc     = XDocument.Parse(body);
                    var       encrypt = doc.Element("xml").Element("Encrypt");

                    //验证消息签名
                    if (!string.IsNullOrEmpty(msg_signature))
                    {
                        //消息加密
                        var sha1 = MakeMsgSign(nonce, timestamp, encrypt.Value, token);
                        if (!sha1.Equals(msg_signature, StringComparison.OrdinalIgnoreCase))//验证不通过
                        {
                            return("");
                        }
                    }

                    body = EncryptHelper.AESDecrypt(encrypt.Value, encodingAESKey);//解密
                }

                if (!string.IsNullOrEmpty(body))
                {
                    //
                    //在这里根据body中的MsgType和Even来区分消息,然后来处理不同的业务逻辑
                    //
                    //

                    //result是上面逻辑处理完成之后的待返回结果,如返回文本消息:
                    var result = @"<xml>
                                      <ToUserName><![CDATA[toUser]]></ToUserName>
                                      <FromUserName><![CDATA[fromUser]]></FromUserName>
                                      <CreateTime>12345678</CreateTime>
                                      <MsgType><![CDATA[text]]></MsgType>
                                      <Content><![CDATA[你好]]></Content>
                                    </xml>";
                    if (!string.IsNullOrEmpty(result))
                    {
                        if (isEncrypt)
                        {
                            result = EncryptHelper.AESEncrypt(result, encodingAESKey, appId);
                            var _msg_signature = MakeMsgSign(nonce, timestamp, result, token);
                            result = $@"<xml>
                                                    <Encrypt><![CDATA[{result}]]></Encrypt>
                                                    <MsgSignature>{_msg_signature}</MsgSignature>
                                                    <TimeStamp>{timestamp}</TimeStamp>
                                                    <Nonce>{nonce}</Nonce>
                                                </xml>";
                        }
                        return(result);
                    }

                    //如果这里我们的处理逻辑需要花费较长时间,可以这里先返回空(""),然后使用异步去处理业务逻辑,
                    //异步处理完后,调用微信的客服消息接口通知微信服务器
                }
            }
            catch (Exception ex)
            {
                //记录异常日志
            }

            return("");
        }