Ejemplo n.º 1
0
        public bool UpdatePassword(string logName, string passWord)
        {
            var    szPassword = CommonLib.HashEncrypt.BgPassWord(HashEncrypt.md5(passWord));
            string sql        = string.Format("UPDATE Users SET Password='******',OperateDate=getdate() where UserName in ({1})", szPassword, logName);

            return(DbHelperSql.ExecuteNonQuery(sql) > 0);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> ResetPassword(int id)
        {
            BL.UserInfo empBL = new BL.UserInfo();
            if (empBL.GetItemByIdForDelete(id) != null)
            {
                return(Redirect(Url.Action("HttpError", "Error", new { area = "" })));
            }
            IPasswordPolicy Password        = new RandomPassword();
            string          orginalPassword = Password.GeneratePassword();

            orginalPassword = "******";
            string md5Password = HashEncrypt.MD5(orginalPassword);

            VM.UserInfoItem model = new VM.UserInfoItem();
            model = empBL.GetItemById(id);
            //IdentityModel user = await UserManager.FindByNameAsync(model.LogonName);
            //string password = UserManager.PasswordHasher.HashPassword(md5Password);
            //UserStore store = new UserStore(UserHelper.GetCurrentUser().LogonName);
            //var set = store.SetPasswordHashAsync(user, password);
            //var result = store.UpdateAsync(user);

            model.Password = md5Password;
            empBL.UpdatePasswordDb(model);
            if (model != null)
            {
                // empBL.SendEmail(model, orginalPassword, "User_ResetPassword");
                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            return(Json(false, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        public B_WORKER Login(string loginName, string passWord)
        {
            IApplicationContext ctx     = ContextRegistry.GetContext();
            IEncrypt            encrypt = ctx["Encrypt"] as IEncrypt;

            HashEncrypt he = new HashEncrypt();

            //解密前台DES加密的密码
            //loginName = he.DESDecrypt(loginName, "", "");
            //passWord = he.DESDecrypt(passWord, "", "");

            B_WORKER entity = DAL.Organize.Worker.Login(loginName);

            if (entity == null)
            {
                return(null);
            }

            //根据后台配置加密密码
            string temp = encrypt.Encrypt(entity.ID, passWord);

            if (entity.PassWord == temp)
            {
                return(entity);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 解密数据
 /// </summary>
 /// <param name="Text"></param>
 /// <param name="sKey"></param>
 /// <returns></returns>
 public static string Decrypt(string text, string sKey)
 {
     try
     {
         DESCryptoServiceProvider des = new DESCryptoServiceProvider();
         int len;
         len = text.Length / 2;
         byte[] inputByteArray = new byte[len];
         int    x, i;
         for (x = 0; x < len; x++)
         {
             i = Convert.ToInt32(text.Substring(x * 2, 2), 16);
             inputByteArray[x] = (byte)i;
         }
         des.Key = ASCIIEncoding.ASCII.GetBytes(HashEncrypt.GetMd5(sKey).Substring(0, 8));
         des.IV  = ASCIIEncoding.ASCII.GetBytes("12345678");
         System.IO.MemoryStream ms = new System.IO.MemoryStream();
         CryptoStream           cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
         cs.Write(inputByteArray, 0, inputByteArray.Length);
         cs.FlushFinalBlock();
         return(Encoding.Default.GetString(ms.ToArray()));
     }
     catch
     {
         return(string.Empty);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 加密数据
 /// </summary>
 /// <param name="Text"></param>
 /// <param name="sKey"></param>
 /// <returns></returns>
 public static string Encrypt(string text, string sKey)
 {
     try
     {
         DESCryptoServiceProvider des = new DESCryptoServiceProvider();
         byte[] inputByteArray;
         inputByteArray = Encoding.Default.GetBytes(text);
         des.Key        = ASCIIEncoding.ASCII.GetBytes(HashEncrypt.GetMd5(sKey).Substring(0, 8));
         des.IV         = ASCIIEncoding.ASCII.GetBytes("12345678");
         System.IO.MemoryStream ms = new System.IO.MemoryStream();
         CryptoStream           cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
         cs.Write(inputByteArray, 0, inputByteArray.Length);
         cs.FlushFinalBlock();
         StringBuilder ret = new StringBuilder();
         foreach (byte b in ms.ToArray())
         {
             ret.AppendFormat("{0:X2}", b);
         }
         return(ret.ToString());
     }
     catch (Exception exc)
     {
         throw exc;
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            HttpCookie cookie = Request.Cookies["USERINFO"];

            if (cookie == null)
            {
                return(View());
            }
            string USERNAME = cookie.Values["USERNAME"];
            string PASSWORD = cookie.Values["PASSWORD"];

            if (string.IsNullOrEmpty(USERNAME) || string.IsNullOrEmpty(PASSWORD))
            {
                cookie.Expires = DateTime.Now.AddDays(-30);
                Response.AppendCookie(cookie);
            }
            else
            {
                var usersBll = new UsersBll();
                var item     = usersBll.LoginUsers(HashEncrypt.DecryptQueryString(USERNAME), HashEncrypt.DecryptQueryString(PASSWORD));
                if (item != null)
                {
                    Session["USERID"] = HashEncrypt.EncryptQueryString(item.UserID.ToString());
                    return(RedirectPermanent("../Home/Index"));
                }
                else
                {
                    cookie.Expires = DateTime.Now.AddDays(-30);
                    Response.AppendCookie(cookie);
                }
            }

            return(View());
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 获取token
        /// </summary>
        /// <returns></returns>
        private string GetAuthToken()
        {
            string objCache = _cacheService.Get <string>(CacheKey.GETUIAUTHTOKEN);

            if (objCache == null)
            {
                string authToken = string.Empty;
                string timestamp = DateTime.Now.GetTimeSpan().ToString();
                var    url       = string.Format("https://restapi.getui.com/v1/{0}/auth_sign", _appId);
                var    data      = new JObject();
                string sign      = HashEncrypt.GetSHA256(_appKey + timestamp + _masterSecret);
                data.Add("sign", sign);
                data.Add("timestamp", timestamp);
                data.Add("appkey", _appKey);
                HttpHelper httpHelper = new HttpHelper(url, "application/json");
                string     result     = httpHelper.SendPost(data.ToString());
                JObject    json       = JObject.Parse(result);
                if (json["result"].ToString() == "ok")
                {
                    authToken = json["auth_token"].ToString();
                    _cacheService.Add(CacheKey.GETUIAUTHTOKEN, authToken, DateTime.Now.AddHours(23).GetTimeSpan());
                }
                return(authToken);
            }
            else
            {
                return(objCache);
            }
        }
Ejemplo n.º 8
0
 private void btnSave_Click(object sender, RoutedEventArgs e)
 {
     HashEncrypt he = new HashEncrypt(true, false);
     BLL.TB_Setting.UpdatePwd(he.SHA1Encrypt(txtPwd.Password.Trim()));
     this.DialogResult = true;
     this.Close();
 }
Ejemplo n.º 9
0
        private static byte[] ReceivingNext(Socket s)
        {
            int readLen = 0, timeout = 0, count = 0;

            byte[] buff4 = new byte[4];
            s.Receive(buff4, 0, 4, SocketFlags.None);

            int dataLen = BitConverter.ToInt32(buff4, 0);

            s.Receive(buff4, 0, 4, SocketFlags.None);
            var crc32 = BitConverter.ToInt32(buff4, 0);


            //MemoryStream ms = new MemoryStream();
            readLen = 0;
            timeout = 0;

            dataLen -= 4;
            byte[] buffer = new byte[dataLen];

            //if (SocketApplicationEnvironment.TraceSocketDataBag)
            //{
            //    LogManager.LogHelper.Instance.Debug(s.Handle + "准备接收数据:" + dataLen);
            //}

            while (readLen < dataLen)
            {
                count = s.Receive(buffer, readLen, dataLen - readLen, SocketFlags.None);

                if (count == 0)
                {
                    Thread.Sleep(1);
                    timeout += 1;
                    if (timeout > 10000)
                    {
                        break;
                    }
                    continue;
                }
                readLen += count;
            }

            var calcrc32 = HashEncrypt.GetCRC32(buffer, 0);

            if (calcrc32 != crc32)
            {
                Exception ex = new Exception("检查校验码出错");
                ex.Data.Add("crc32", crc32);
                ex.Data.Add("calcrc32", calcrc32);
                ex.Data.Add("data", Convert.ToBase64String(buffer));
                //LogManager.LogHelper.Instance.Error("接收数据错误", ex);
            }

            //if (SocketApplicationEnvironment.TraceSocketDataBag)
            //{
            //    LogManager.LogHelper.Instance.Debug(s.Handle + "接收数据," + readLen + "," + Convert.ToBase64String(buffer));
            //}

            return(buffer);
        }
Ejemplo n.º 10
0
 public IdentityService(IOptions <AppSettings> appSettings, HashEncrypt hashEncrypt, Users.Framework.Services.Interface.IUserServices iUserServices, IConfiguration iConfiguration, IFuncIdentity funcIdentity)
 {
     _appSettings   = appSettings.Value;
     _hashEncrypt   = hashEncrypt;
     _iUserServices = iUserServices;
     _funcIdentity  = funcIdentity;
 }
Ejemplo n.º 11
0
        /// <summary>
        ///  发送验证码
        /// </summary>
        /// <param name="regionId">短信节点</param>
        /// <param name="accessKeyId">APPID</param>
        /// <param name="secret">secret</param>
        /// <param name="phone">手机号码</param>
        /// <param name="signName">短信签名</param>
        /// <param name="templateCode">短信模板ID</param>
        /// <param name="templateParam">短信模板变量对应的实际值,JSON格式</param>
        /// <param name="isvType">短信供应商(默认阿里云)</param>
        /// <returns></returns>
        public WebResponseContent SendTemplateSms(string regionId, string accessKeyId, string secret, string phone, string signName, string templateCode, string templateParam, IsvType isvType = IsvType.Aliyun)
        {
            switch (isvType)
            {
            case IsvType.Aliyun:
                IClientProfile   profile = DefaultProfile.GetProfile(regionId, accessKeyId, secret);
                DefaultAcsClient client  = new DefaultAcsClient(profile);
                CommonRequest    request = new CommonRequest();
                request.Method  = MethodType.POST;
                request.Domain  = "dysmsapi.aliyuncs.com";
                request.Version = "2017-05-25";
                request.Action  = "SendSms";
                //短信
                // request.Protocol = ProtocolType.HTTP;
                request.AddQueryParameters("PhoneNumbers", phone);
                request.AddQueryParameters("SignName", signName);           //"广州悦发"
                request.AddQueryParameters("TemplateCode", templateCode);   //
                //request.AddQueryParameters("TemplateParam", "{ \"code \": \"" + content + "\" }");
                request.AddQueryParameters("TemplateParam", templateParam); //"TemplateParam", "{'code':'" + content + "'}"
                // request.Protocol = ProtocolType.HTTP;
                CommonResponse response = client.GetCommonResponse(request);
                //string code = System.Text.Encoding.Default.GetString(response.HttpResponse.Content).Split(',')[1];
                string _code = JsonConvert.DeserializeObject <AliSMSResult>(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)).Code;

                if (_code == "OK")
                {
                    return(new WebResponseContent().OK("发送成功"));
                }
                else
                {
                    return(new WebResponseContent().Error(ExceptionMsg(_code)));
                }

            case IsvType.getui:
                string url      = "http://www.ztsms.cn/sendNSms.do";
                string userName = "******";
                string tkey     = System.DateTime.Now.ToString("yyyyMMddHHmmss");
                string other    = HashEncrypt.GetMd5("SMSKey");
                string password = HashEncrypt.GetMd5(other + tkey);

                string data = string.Format("?username={0}&password={1}&mobile={2}&content={3}&tkey={4}&productid=676767&xh=",
                                            userName, password, phone, templateParam, tkey);

                HttpHelper httpHelper = new HttpHelper(url + data);
                string     s          = httpHelper.SendGet();
                string     code       = s.Split(',')[0];
                if (code == "1")
                {
                    return(new WebResponseContent().OK("发送成功"));
                }
                else
                {
                    return(new WebResponseContent().Error(ExceptionMsg(code)));
                }

            default:
                return(new WebResponseContent().Error("发送失败"));
            }
        }
Ejemplo n.º 12
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            HashEncrypt he = new HashEncrypt(true, false);

            BLL.TB_Setting.UpdatePwd(he.SHA1Encrypt(txtPwd.Password.Trim()));
            this.DialogResult = true;
            this.Close();
        }
Ejemplo n.º 13
0
 //超级管理员
 protected void btnsuper_Click(object sender, EventArgs e)
 {
     if (IsDebug)
     {
         HttpContext.Current.Session["USERID"] = HashEncrypt.EncryptQueryString(CommonLib.Config.SuperID.ToString());
         Response.Redirect("/Home/Index");
     }
 }
Ejemplo n.º 14
0
        private void btnHiddenSave_Click(object sender, RoutedEventArgs e)
        {
            HashEncrypt he = new HashEncrypt(true, false);

            if (BLL.TB_Setting.OldPwd == "")
            {
                if (txtHiddenNewPwd.Password == "")
                {
                    MessageBox.Show("请输入新密码!");
                    return;
                }
                if (txtHiddenReNewPwd.Password == "")
                {
                    MessageBox.Show("请输入确认新密码!");
                    return;
                }
                if (txtHiddenNewPwd.Password.Trim() != txtHiddenReNewPwd.Password.Trim())
                {
                    MessageBox.Show("新密码和确认新密码输入不一致,\r\n请重新输入!");
                    return;
                }
            }
            else
            {
                if (txtHiddenOldPwd.Password == "")
                {
                    MessageBox.Show("请输入原始密码!");
                    return;
                }
                if (txtHiddenNewPwd.Password == "")
                {
                    MessageBox.Show("请输入新密码!");
                    return;
                }
                if (txtHiddenReNewPwd.Password == "")
                {
                    MessageBox.Show("请输入确认新密码!");
                    return;
                }
                if (txtHiddenNewPwd.Password.Trim() != txtHiddenReNewPwd.Password.Trim())
                {
                    MessageBox.Show("新密码和确认新密码输入不一致,\r\n请重新输入!");
                    return;
                }
                if (he.SHA1Encrypt(txtHiddenOldPwd.Password.Trim()) != BLL.TB_Setting.OldPwd)
                {
                    MessageBox.Show("原始密码输入错误!", "系统信息");
                    return;
                }
            }
            BLL.TB_Setting.UpdatePwd(he.SHA1Encrypt(txtHiddenNewPwd.Password.Trim()));
            txtHiddenOldPwd.Password   = "";
            txtHiddenNewPwd.Password   = "";
            txtHiddenReNewPwd.Password = "";
            MessageBox.Show("密码设置成功!");
        }
Ejemplo n.º 15
0
        public string EncryptionPassword(string password)
        {
            if (password.IsNullOrEmpty())
            {
                return("");
            }
            HashEncrypt hashEncrypt = new HashEncrypt();

            return(hashEncrypt.MD5System(hashEncrypt.MD5System(password)));
        }
Ejemplo n.º 16
0
 private void btnHiddenSave_Click(object sender, RoutedEventArgs e)
 {
     HashEncrypt he = new HashEncrypt(true, false);
     if (BLL.TB_Setting.OldPwd == "")
     {
         if (txtHiddenNewPwd.Password == "")
         {
             MessageBox.Show("请输入新密码!");
             return;
         }
         if (txtHiddenReNewPwd.Password == "")
         {
             MessageBox.Show("请输入确认新密码!");
             return;
         }
         if (txtHiddenNewPwd.Password.Trim() != txtHiddenReNewPwd.Password.Trim())
         {
             MessageBox.Show("新密码和确认新密码输入不一致,\r\n请重新输入!");
             return;
         }
     }
     else
     {
         if (txtHiddenOldPwd.Password == "")
         {
             MessageBox.Show("请输入原始密码!");
             return;
         }
         if (txtHiddenNewPwd.Password == "")
         {
             MessageBox.Show("请输入新密码!");
             return;
         }
         if (txtHiddenReNewPwd.Password == "")
         {
             MessageBox.Show("请输入确认新密码!");
             return;
         }
         if (txtHiddenNewPwd.Password.Trim() != txtHiddenReNewPwd.Password.Trim())
         {
             MessageBox.Show("新密码和确认新密码输入不一致,\r\n请重新输入!");
             return;
         }
         if (he.SHA1Encrypt(txtHiddenOldPwd.Password.Trim()) != BLL.TB_Setting.OldPwd)
         {
             MessageBox.Show("原始密码输入错误!", "系统信息");
             return;
         }
     }
     BLL.TB_Setting.UpdatePwd(he.SHA1Encrypt(txtHiddenNewPwd.Password.Trim()));
     txtHiddenOldPwd.Password = "";
     txtHiddenNewPwd.Password = "";
     txtHiddenReNewPwd.Password = "";
     MessageBox.Show("密码设置成功!");
 }
Ejemplo n.º 17
0
        public T DecryptCookie <T>(string cookieValue, Dictionary <string, string> parameters)
        {
            T      result            = default(T);
            string strEncCookieValue = string.Empty;
            string strContent        = string.Empty;
            string strSHA1Sign       = string.Empty;
            string strShA1Temp       = string.Empty;

            string[] arrayCookieValue = new string[2];

            try
            {
                if (cookieValue.Length < 40)
                {
                    return(result);
                }
                //  取出签名和密文
                strSHA1Sign       = cookieValue.Substring(0, 40);
                strEncCookieValue = cookieValue.Substring(40);
                //  签名校验
                strShA1Temp = HashEncrypt.SHA1Encrypt(HttpUtility.UrlDecode(strEncCookieValue).Trim() + parameters["hashkey"]);
                if (strSHA1Sign != strShA1Temp)
                {
                    return(result);
                }
                strEncCookieValue = HttpUtility.UrlDecode(strEncCookieValue);
                //  还原成明文
                strContent = RC4Encrypt.Decrypt(strEncCookieValue, parameters["rc4key"], RC4Encrypt.EncoderMode.HexEncoder);
                if (strContent.Length == 0)
                {
                    return(result);
                }

                arrayCookieValue = JsonConvert.DeserializeObject <string[]>(strContent);
                if (arrayCookieValue != null && arrayCookieValue.Length == 3)
                {
                    if (DateTime.Parse(arrayCookieValue[1]) > DateTime.Now && GetClientIP() == arrayCookieValue[2])
                    {
                        result = JsonConvert.DeserializeObject <T>(arrayCookieValue[0]);
                        //Cookie有效,则继续延续有效期
                        IocManager.Instance.IocContainer.Resolve <CookieHelper>().SaveCookie <T>(parameters["nodeName"], result);
                        //CookieHelper.SaveCookie<T>(parameters["nodeName"], result);
                    }
                }

                return(result);
            }
            catch
            {
                return(result);
            }
        }
Ejemplo n.º 18
0
        public string EncryptCookie <T>(T obj, Dictionary <string, string> parameters)
        {
            string strCookieValue    = string.Empty;
            string strEncCookieValue = string.Empty;
            string strSHA1Sign       = string.Empty;

            strCookieValue = SerializationUtility.JsonSerialize3(obj);

            strEncCookieValue = RC4Encrypt.Encrypt(strCookieValue, parameters["rc4key"], RC4Encrypt.EncoderMode.HexEncoder).Trim();
            strSHA1Sign       = HashEncrypt.SHA1Encrypt(strEncCookieValue + parameters["hashkey"]);
            strEncCookieValue = HttpUtility.UrlEncode(strEncCookieValue);
            strEncCookieValue = strSHA1Sign + strEncCookieValue;

            return(strEncCookieValue);
        }
Ejemplo n.º 19
0
        public ActionResult LoginValidationCode()
        {
            string code = ValidationCodeHelper.CreateValidateCode(5);

            byte[] bytes   = ValidationCodeHelper.CreateValidateGraphic(code, 34);
            var    options = new CookieOptions()
            {
                Domain   = AppSettings.EnvironmentVariable == "pre" ? "MessageCenter.Pre" : "MessageCenter",
                HttpOnly = true
            };

            //验证码应该做加密处理,不然形同虚设
            HttpContext.Response.Cookies.Append("LoginVerifyCode", HashEncrypt.DESEncrypt(code.Trim(), "hpmcgctr"));
            return(File(bytes, @"image/jpeg"));
        }
Ejemplo n.º 20
0
        public bool ResetPassword(string name, string emailTo)
        {
            MD.tbl_Common_User date = Ctx.tbl_Common_User.First(u => u.LogonName == name);

            IPasswordPolicy Password        = new RandomPassword();
            string          orginalPassword = Password.GeneratePassword();

            date.Password    = HashEncrypt.SHA512Encrypt(orginalPassword);
            date.UpdatedBy   = null;
            date.UpdatedDate = null;
            Ctx.SaveChanges();
            //发送邮件
            SendEmail(date, orginalPassword, "User_ResetPassword", emailTo);


            return(true);
        }
Ejemplo n.º 21
0
        public bool ResetPassword(string[] ids)
        {
            if (ids == null || ids.Length <= 0)
            {
                return(false);
            }
            var szPassword = CommonLib.HashEncrypt.BgPassWord(HashEncrypt.md5(Config.SystemInitPassword));
            var buf        = new System.Text.StringBuilder();

            foreach (var s in ids)
            {
                buf.AppendFormat("'{0}',", s);
            }
            string szIds = buf.ToString().TrimEnd(',');
            string sql   = string.Format("UPDATE Users SET Password='******',OperateDate=getdate() where UserID in ({1})", szPassword, szIds);

            return(DbHelperSql.ExecuteNonQuery(sql) > 0);
        }
Ejemplo n.º 22
0
 public bool ResetPassword(int id, string userName)
 {
     MD.tbl_Common_User date = Ctx.tbl_Common_User.First(u => u.UserId == id);
     if (date.Status == 1)
     {
         IPasswordPolicy Password        = new RandomPassword();
         string          orginalPassword = Password.GeneratePassword();
         date.Password    = HashEncrypt.SHA512Encrypt(orginalPassword);
         date.UpdatedBy   = userName;
         date.UpdatedDate = DateTime.Now;
         Ctx.SaveChanges();
         //发送邮件
         //SendEmail(date, orginalPassword, "User_ResetPassword");
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 23
0
        public T DecryptCookie <T>(string cookieValue, Dictionary <string, string> parameters)
        {
            T      result            = default(T);
            string strEncCookieValue = string.Empty;
            string strContent        = string.Empty;
            string strSHA1Sign       = string.Empty;
            string strShA1Temp       = string.Empty;

            try
            {
                if (cookieValue.Length < 40)
                {
                    return(result);
                }
                //  取出签名和密文
                strSHA1Sign       = cookieValue.Substring(0, 40);
                strEncCookieValue = cookieValue.Substring(40);
                //  签名校验
                strShA1Temp = HashEncrypt.SHA1Encrypt(HttpUtility.UrlDecode(strEncCookieValue).Trim() + parameters["hashkey"]);
                if (strSHA1Sign != strShA1Temp)
                {
                    return(result);
                }
                strEncCookieValue = HttpUtility.UrlDecode(strEncCookieValue);
                //  还原成明文
                strContent = RC4Encrypt.Decrypt(strEncCookieValue, parameters["rc4key"], RC4Encrypt.EncoderMode.HexEncoder);
                if (strContent.Length == 0)
                {
                    return(result);
                }

                result = SerializationUtility.JsonDeserialize3 <T>(strContent);

                return(result);
            }
            catch
            {
                return(result);
            }
        }
Ejemplo n.º 24
0
        //[AllowAnonymous]
        public async Task <ActionResult> Create(VM.UserInfoItem model)
        {
            BL.UserInfo empBL = new BL.UserInfo();
            if (empBL.ValidateName(-1, model.LogonName))
            {
                return(Content(ResourceHelper.GetValue("SMM_UserInfo_SameLogonName")));
            }
            if (!new EmailExAttribute().IsValid(model.EmailAddress))
            {
                return(Content("False"));
            }
            var user = new IdentityModel();

            user.UserName            = model.LogonName;
            user.LogonName           = model.UserName;
            user.StrStatus           = model.StrStatus;
            user.RoleId              = model.RoleId;
            user.UserCompangValue    = model.UserCompanyValue;
            user.UserGasStationValue = model.UserGasStationValue;
            user.DomainAccount       = model.DomainAccount;
            user.EmailAddress        = model.EmailAddress;
            user.CreateBy            = "sysAdmin";//UserHelper.GetCurrentUser().LogonName;
            IPasswordPolicy Password        = new RandomPassword();
            string          orginalPassword = Password.GeneratePassword();
            string          md5Password     = HashEncrypt.MD5(orginalPassword);
            var             result          = await UserManager.CreateAsync(user, md5Password);

            if (result.Succeeded)
            {
                if (user.StrStatus == "1")
                {
                    //empBL.SendEmail(model, orginalPassword, "User_New");
                }
                return(Content("Success"));
            }

            return(Content("False"));
        }
Ejemplo n.º 25
0
        public async Task <ActionResult> UserRests(string Email, string UserName)
        {
            BL.Login empBL = new BL.Login();
            if (empBL.ValiableEmail(Email, UserName) == "true")
            {
                return(Json("validateEmail", JsonRequestBehavior.AllowGet));
            }
            else if (empBL.ValiableEmail(Email, UserName) == "error")
            {
                return(Json("error", JsonRequestBehavior.AllowGet));
            }
            UserInfo userBL = new UserInfo();

            IPasswordPolicy Password        = new RandomPassword();
            string          orginalPassword = Password.GeneratePassword();
            string          md5Password     = HashEncrypt.MD5(orginalPassword);
            UserInfoItem    model           = new UserInfoItem();

            model = userBL.GetItemByName(UserName);
            IdentityModel user = await UserManager.FindByNameAsync(UserName);

            string    password = UserManager.PasswordHasher.HashPassword(md5Password);
            UserStore store    = new UserStore();
            var       set      = store.SetPasswordHashAsync(user, password);
            var       results  = store.UpdateAsync(user);

            if (results != null)
            {
                userBL.SendEmail(model, orginalPassword, "User_ResetPassword");
                return(Json("true", JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("false", JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 26
0
        public string EncryptCookie <T>(T obj, Dictionary <string, string> parameters)
        {
            string strCookieValue    = string.Empty;
            string strEncCookieValue = string.Empty;
            string strSHA1Sign       = string.Empty;

            string[] arrayCookieValue = new string[3];

            int securityExpires = 0;

            int.TryParse(parameters["securityExpires"], out securityExpires);

            arrayCookieValue[0] = JsonConvert.SerializeObject(obj);
            arrayCookieValue[1] = DateTime.Now.AddMinutes(securityExpires).ToString();
            arrayCookieValue[2] = GetClientIP();
            strCookieValue      = JsonConvert.SerializeObject(arrayCookieValue);

            strEncCookieValue = RC4Encrypt.Encrypt(strCookieValue, parameters["rc4key"], RC4Encrypt.EncoderMode.HexEncoder).Trim();
            strSHA1Sign       = HashEncrypt.SHA1Encrypt(strEncCookieValue + parameters["hashkey"]);
            strEncCookieValue = HttpUtility.UrlEncode(strEncCookieValue);
            strEncCookieValue = strSHA1Sign + strEncCookieValue;

            return(strEncCookieValue);
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> Login(LoginModel model, string returnUrl = null)
        {
            //验证码应该做加密处理,不然形同虚设
            HttpContext.Request.Cookies.TryGetValue("LoginVerifyCode", out var verifyCode);
            verifyCode = HashEncrypt.DESDecrypt(verifyCode, "hpmcgctr");
            if (!model.VerifyCode.Equals(verifyCode, StringComparison.CurrentCultureIgnoreCase))
            {
                return(Json(new
                {
                    Success = false,
                    Message = "验证码错误!"
                }));
            }
            if (model.UserName != AppSettings.DefaultUserName || model.Password != AppSettings.DefaultPassword)
            {
                return(Json(new
                {
                    Success = false,
                    Message = "用户名或密码错误!"
                }));
            }

            // create claims
            List <Claim> claims = new List <Claim>
            {
                new Claim(ClaimTypes.Name, model.UserName),
            };

            // create identity
            ClaimsIdentity identity = new ClaimsIdentity(claims, AuthenticationConfig.AuthenticationKey);

            // create principal
            ClaimsPrincipal principal = new ClaimsPrincipal(identity);

            // sign-in
            await HttpContext.SignInAsync(
                scheme : AuthenticationConfig.AuthenticationKey,
                principal : principal,
                properties : new AuthenticationProperties
            {
                IsPersistent = true,         // for 'remember me' feature
                ExpiresUtc   = DateTime.UtcNow.AddHours(12),
                AllowRefresh = false
            });

            returnUrl = returnUrl ?? ViewData["ReturnUrl"] as string;
            if (!string.IsNullOrWhiteSpace(returnUrl))
            {
                return(Json(new
                {
                    Success = true,
                    Message = "登录成功!",
                    ReturnUrl = returnUrl
                }));
            }
            return(Json(new
            {
                Success = true,
                Message = "登录成功!",
                ReturnUrl = "/home/index"
            }));
        }
        public static int SendMessage(this Socket s, Message message, string encrykey)
        {
            try
            {
                if (s == null)
                {
                    return(0);
                }

                byte[] data        = null;
                int    bufferindex = -1;
                long   size        = 0;
                if (string.IsNullOrWhiteSpace(encrykey))
                {
                    EntityBuf.EntityBufCore.Serialize(message, _sendBufferManger, ref bufferindex, ref size, ref data);
                }
                else
                {
                    data = EntityBuf.EntityBufCore.Serialize(message);
                }
                if (bufferindex == -1)
                {
                    if (!string.IsNullOrWhiteSpace(encrykey))
                    {
                        using (var ms = new System.IO.MemoryStream())
                        {
                            for (int i = 0; i < 8; i++)
                            {
                                ms.WriteByte(0);
                            }
                            var enbytes = AesEncryHelper.AesEncrypt(data, encrykey);
                            ms.Write(enbytes, 0, enbytes.Length);
                            data = ms.ToArray();
                        }
                    }

                    byte[] dataLen = BitConverter.GetBytes(data.Length - 4);

                    for (int i = 0; i < 4; i++)
                    {
                        data[i] = dataLen[i];
                    }

                    var crc32 = HashEncrypt.GetCRC32(data, 8);
                    //LogManager.LogHelper.Instance.Debug("校验值:" + crc32);
                    var crc32bytes = BitConverter.GetBytes(crc32);
                    for (int i = 4; i < 8; i++)
                    {
                        data[i] = crc32bytes[i - 4];
                    }

                    lock (s)
                    {
                        var sendcount = s.Send(data, SocketFlags.None);

                        //if (SocketApplicationEnvironment.TraceSocketDataBag && !string.IsNullOrWhiteSpace(message.MessageHeader.TransactionID))
                        //{
                        //    LogManager.LogHelper.Instance.Debug(s.Handle + "发送数据:" + message.MessageHeader.TransactionID + "长度:" + data.Length + ", " + Convert.ToBase64String(data));
                        //}

                        return(sendcount);
                    }
                }
                else
                {
                    try
                    {
                        //LogManager.LogHelper.Instance.Error("发送数据bufferindex:" + bufferindex + ",size:" + size);

                        byte[] dataLen = BitConverter.GetBytes((int)size - 4);
                        int    offset  = _sendBufferManger.GetOffset(bufferindex);
                        for (int i = 0; i < 4; i++)
                        {
                            _sendBufferManger.Buffer[i + offset] = dataLen[i];
                        }

                        var crc32 = HashEncrypt.GetCRC32(_sendBufferManger.Buffer, offset + 8, (int)size - 8);
                        //LogManager.LogHelper.Instance.Debug("校验值:" + crc32);
                        var crc32bytes = BitConverter.GetBytes(crc32);
                        for (int i = 4; i < 8; i++)
                        {
                            _sendBufferManger.Buffer[i + offset] = crc32bytes[i - 4];
                        }

                        int sendcount = 0;
                        lock (s)
                        {
                            SocketError senderror = SocketError.Success;

                            sendcount = s.Send(_sendBufferManger.Buffer, offset, (int)size, SocketFlags.None, out senderror);

                            //if (SocketApplicationEnvironment.TraceSocketDataBag && !string.IsNullOrWhiteSpace(message.MessageHeader.TransactionID))
                            //{
                            //    var sendbytes = _sendBufferManger.Buffer.Skip(offset).Take((int)size).ToArray();
                            //    LogManager.LogHelper.Instance.Debug(s.Handle + "发送数据:" + message.MessageHeader.TransactionID + "长度:" + size + ", " + Convert.ToBase64String(sendbytes));
                            //}

                            if (senderror != SocketError.Success)
                            {
                                throw new Exception(senderror.ToString());
                            }
                        }
                        return(sendcount);
                    }
                    finally
                    {
                        _sendBufferManger.RealseBuffer(bufferindex);
                    }
                }
            }
            catch (Exception ex)
            {
                ex.Data.Add("TransactionID", message.MessageHeader.TransactionID);
                throw new SocketApplicationException("SendMessage fail", ex);
            }
        }
Ejemplo n.º 29
0
        public JsonResult LoginSystem()
        {
            #region 后台系统登录
            string UserName = RequestParameters.Pstring("UserName");
            string Password = RequestParameters.Pstring("Password");

            if (UserName.Length <= 0)
            {
                var sReturnModel = new ReturnMessageModel();
                sReturnModel.ErrorType      = 2;
                sReturnModel.MessageContent = "用户名不能为空.";
                return(Json(sReturnModel));
            }
            if (Password.Length <= 0)
            {
                var sReturnModel = new ReturnMessageModel();
                sReturnModel.ErrorType      = 2;
                sReturnModel.MessageContent = "密码不能为空.";
                return(Json(sReturnModel));
            }
            //  string retVal = "";
            #region
            try
            {
                var usersBll = new BLL_User();
                var item     = usersBll.GetObjectByUser(UserName, HashEncrypt.BgPassWord(Password));
                if (item != null)
                {
                    if (item.user_Sign == (int)StageMode.Normal)
                    {
                        Session["EQUI_USERID"] = HashEncrypt.EncryptQueryString(item.user_Id.ToString());

                        var sReturnModel = new ReturnMessageModel();
                        sReturnModel.ErrorType      = 1;
                        sReturnModel.MessageContent = "登录成功.";
                        return(Json(sReturnModel));
                    }
                    else
                    {
                        var sReturnModel = new ReturnMessageModel();
                        sReturnModel.ErrorType      = 2;
                        sReturnModel.MessageContent = "该账号已停用.";
                        return(Json(sReturnModel));
                    }
                    //  retVal = "该账号已停用."; //登录成功
                }
                else
                {
                    var sReturnModel = new ReturnMessageModel();
                    sReturnModel.ErrorType      = 2;
                    sReturnModel.MessageContent = "账号或密码错误.";
                    return(Json(sReturnModel));
                }
            }
            catch (Exception ex)
            {
                var sReturnModel = new ReturnMessageModel();
                sReturnModel.ErrorType      = 2;
                sReturnModel.MessageContent = "系统异常:" + ex.Message;
                return(Json(sReturnModel));
                //  retVal = "1系统异常:" ;
            }
            #endregion

            //if (retVal == "1")
            //{
            //    var sReturnModel = new ReturnMessageModel();
            //    sReturnModel.ErrorType = 1;
            //    sReturnModel.MessageContent = "登录成功.";
            //    return Json(sReturnModel);
            //}
            //else
            //{
            //    var sReturnModel = new ReturnMessageModel();
            //    sReturnModel.ErrorType = 2;
            //    sReturnModel.MessageContent = retVal;
            //    return Json(sReturnModel);
            //}
            #endregion
        }
        void socketAsyncEvent_Completed(object sender, SocketAsyncEventArgs e)
        {
            e.Completed -= socketAsyncEvent_Completed;

            var args = e as IOCPSocketAsyncEventArgs;

            if (e.LastOperation == SocketAsyncOperation.Connect)
            {
                if (e.SocketError == SocketError.Success)
                {
                    socketClient = e.ConnectSocket;
                    _startSign.Set();

                    //e.SetBuffer(_lenbyte, 0, 4);
                    SetBuffer(args, 0, 4);
                }
                else
                {
                    //throw new Exception("连接失败:" + e.SocketError);
                }
            }
            else
            {
                if (args.BytesTransferred == 0 || args.SocketError != SocketError.Success)
                {
                    Dispose();
                    return;
                }
                else
                {
                    if (!args.IsReadPackLen)
                    {
                        for (int i = 0; i < _lenbyte.Length; i++)
                        {
                            _lenbyte[i] = e.Buffer[i];
                        }
                        int dataLen = BitConverter.ToInt32(_lenbyte, 0);
                        if (dataLen > MaxPackageLength)
                        {
                            Dispose();
                            return;
                        }
                        else
                        {
                            args.IsReadPackLen = true;
                            //byte[] readbuffer = new byte[dataLen];
                            args.BufferLen = dataLen;
                            args.BufferRev = 0;
                            //args.SetBuffer(readbuffer, 0, dataLen);
                            SetBuffer(args, 0, dataLen);
                        }
                    }
                    else
                    {
                        args.BufferRev += args.BytesTransferred;
                        if (args.BufferRev == args.BufferLen)
                        {
                            //检验
                            byte[] bt4   = e.Buffer.Take(4).ToArray();
                            var    crc32 = BitConverter.ToInt32(bt4, 0);

                            byte[] bt = new byte[args.BufferLen - 4];
                            for (int i = 0; i < bt.Length; i++)
                            {
                                bt[i] = e.Buffer[i + 4];
                            }
                            var calcrc32 = HashEncrypt.GetCRC32(bt, 0);
                            if (calcrc32 != crc32)
                            {
                                var ex = new Exception("数据校验错误");
                                ex.Data.Add("calcrc32", calcrc32);
                                ex.Data.Add("crc32", crc32);
                                ex.Data.Add("data", Convert.ToBase64String(bt));
                                OnError(ex);
                            }
                            else
                            {
                                ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessMessage), bt);
                            }
                            args.IsReadPackLen = false;
                            //args.SetBuffer(_lenbyte, 0, 4);
                            SetBuffer(args, 0, 4);
                        }
                        else
                        {
                            e.SetBuffer(args.BufferRev, args.BufferLen - args.BufferRev);
                        }
                    }
                }
            }

            e.Completed += socketAsyncEvent_Completed;

            if (e.SocketError == SocketError.Success)
            {
                socketClient.ReceiveAsync(e);
                //if (!socketClient.ReceiveAsync(e))
                //{
                //    e.Completed -= socketAsyncEvent_Completed;
                //}
            }
        }
Ejemplo n.º 31
0
        public JsonResult AddOrUpdate()
        {
            #region 权限控制
            int[] iRangePage         = { AddPageNodeId, EditPageNodeId, DetailPageNodeId };
            int   iCurrentPageNodeId = RequestParameters.Pint("NodeId");
            bool  isAdd            = iCurrentPageNodeId == AddPageNodeId ? true : false;
            int   iCurrentButtonId = (int)EButtonType.Save;
            var   tempNoAuth       = Utits.IsOperateAuth(iRangePage, iCurrentPageNodeId, iCurrentButtonId);
            if (tempNoAuth.ErrorType != 1)
            {
                return(Json(tempNoAuth));
            }
            #endregion

            #region AddOrUpdate
            var    welfareCentreId = Utits.WelfareCentreID;
            string UserCode        = RequestParameters.Pstring("UserCode");
            string UserName        = RequestParameters.Pstring("UserName");
            string RealName        = RequestParameters.Pstring("RealName");
            string Password        = RequestParameters.Pstring("Password");
            Guid   DeptId          = RequestParameters.PGuid("DeptId");
            Guid   RoleId          = RequestParameters.PGuid("RoleId");
            int    UserType        = RequestParameters.Pint("UserType");
            string Remark          = RequestParameters.Pstring("Remark");
            string IcCardNO        = RequestParameters.Pstring("IcCardNO");
            if (UserName.Length <= 0)
            {
                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 0;
                sRetrunModel.MessageContent = "用户名不能为空.";
                return(Json(sRetrunModel));
            }
            var  cBll             = new UsersBll();
            Guid ID               = RequestParameters.PGuid("ID");
            bool isFlagValidation = false;
            if (ID == Guid.Empty)
            {
                isFlagValidation = cBll.ValidationUserName(UserName, welfareCentreId);
            }
            else
            {
                isFlagValidation = cBll.ValidationUserName(ID, UserName, welfareCentreId);
            }


            if (!isFlagValidation)
            {
                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 0;
                sRetrunModel.MessageContent = "用户名已存在.";
                return(Json(sRetrunModel));
            }

            if (RealName.Length <= 0)
            {
                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 0;
                sRetrunModel.MessageContent = "真实姓名不能为空.";
                return(Json(sRetrunModel));
            }
            if (DeptId == Guid.Empty)
            {
                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 0;
                sRetrunModel.MessageContent = "部门参数错误,请返回列表页面重新操作.";
                return(Json(sRetrunModel));
            }
            if (RoleId == Guid.Empty)
            {
                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 0;
                sRetrunModel.MessageContent = "角色参数错误,请返回列表页面重新操作.";
                return(Json(sRetrunModel));
            }

            var item = new Users();
            if (ID == Guid.Empty)
            {
                item.UserID     = Guid.NewGuid();
                item.CreateDate = DateTime.Now;
                item.IsValid    = 1;
                if (Password.Length <= 0)
                {
                    Password = HashEncrypt.md5(CommonLib.Config.SystemInitPassword);
                }
                item.Password = CommonLib.HashEncrypt.BgPassWord(Password);
            }
            else
            {
                item.UserID = ID;
                if (Password.Length > 0)
                {
                    item.Password = CommonLib.HashEncrypt.BgPassWord(Password);
                }
            }
            item.WelfareCentreID = welfareCentreId;
            item.OperateDate     = DateTime.Now;
            item.UserCode        = UserCode;
            item.UserName        = UserName;
            item.RealName        = RealName;
            item.DeptID          = DeptId;
            item.RoleID          = RoleId;
            item.Remark          = Remark;
            item.UserType        = UserType;
            item.IcCardNo        = IcCardNO;

            ParamState = "1";
            ParamID    = item.UserID.ToString();
            bool IsFlag = cBll.AddOrUpdate(item);
            if (IsFlag)
            {
                var cLog = new LogsBll();
                cLog.Log(ParamID, ParamName, ParamState, Utits.CurrentUserID.ToString(), Utits.CurrentRealName.ToString(), Utits.WelfareCentreID.ToString(), Utits.ClientIPAddress.ToString());

                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 1;
                sRetrunModel.MessageContent = "操作成功.";
                return(Json(sRetrunModel));
            }
            else
            {
                var sRetrunModel = new ResultMessage();
                sRetrunModel.ErrorType      = 0;
                sRetrunModel.MessageContent = "操作失败.";
                return(Json(sRetrunModel));
            }
            #endregion
        }
Ejemplo n.º 32
0
 public string GetEncryptPwd(string password)
 {
     return(HashEncrypt.Md5HashForHex(password));
 }