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); }
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)); }
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); } }
/// <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); } }
/// <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; } }
/// <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()); }
/// <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); } }
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(); }
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); }
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; }
/// <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("发送失败")); } }
//超级管理员 protected void btnsuper_Click(object sender, EventArgs e) { if (IsDebug) { HttpContext.Current.Session["USERID"] = HashEncrypt.EncryptQueryString(CommonLib.Config.SuperID.ToString()); Response.Redirect("/Home/Index"); } }
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("密码设置成功!"); }
public string EncryptionPassword(string password) { if (password.IsNullOrEmpty()) { return(""); } HashEncrypt hashEncrypt = new HashEncrypt(); return(hashEncrypt.MD5System(hashEncrypt.MD5System(password))); }
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); } }
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); }
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")); }
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); }
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); }
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); } }
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); } }
//[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")); }
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)); } }
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); }
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); } }
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; //} } }
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 }
public string GetEncryptPwd(string password) { return(HashEncrypt.Md5HashForHex(password)); }