/// <summary> /// 字节流上传 /// </summary> /// <param name="data">上传文件字节流</param> /// <param name="suffix">文件后缀名(.jpg)</param> /// <param name="bucket"></param> /// <returns></returns> public string UploadByByte(byte[] data, string suffix) { QiniuConfig config = QiniuConfigManager.Current.GetConfig(); // 七牛安全 QiNiuSecurity security = new QiNiuSecurity(config.AK, config.SK); string MD5 = DataEncrypt.GetMD5HashByByte(data); string saveKey = MD5; if (!string.IsNullOrWhiteSpace(suffix)) { saveKey += suffix; } // 生成(上传)凭证时需要使用此Mac Mac mac = security.Mac; ZoneID zoneId = ZoneID.CN_South; Qiniu.Common.Config.SetZone(zoneId, false); // 上传策略 var putPolicy = security.CreatePutPolicy(config.Bucket, saveKey); string jstr = putPolicy.ToJsonString(); string token = Auth.CreateUploadToken(mac, jstr); FormUploader fu = new FormUploader(); var result = fu.UploadData(data, saveKey, token); string fileUrl = config.Domain + saveKey; return(fileUrl); }
public ActionResult Login(UserLogin model, string LoginCode) { string userPwd = DataEncrypt.MD5Encrypt(model.LoginPwd.Trim()); model.LoginPwd = userPwd; //判断验证码是否正确 if (LoginCode.ToLower() == Session["code"].ToString().ToLower()) { //判断用户是否存在 if (UserManage.CheckUser(model)) { //给用户设置票证 FormsAuthentication.SetAuthCookie(model.LoginName.ToString(), false); return(Json(new { success = 1 })); } else { return(Json(new { success = 2 })); } } else { return(Json(new { success = 3 })); } }
/// <summary> /// 记住用户 /// </summary> /// <returns></returns> public ActionResult LoginByRberUser(UserLogin model, string LoginCode) { string userPwd = DataEncrypt.MD5Encrypt(model.LoginPwd.Trim()); model.LoginPwd = userPwd; //判断验证码是否正确 if (LoginCode.ToLower() == Session["code"].ToString().ToLower()) { //判断用户是否存在 if (UserManage.CheckUser(model)) { if (Request.Cookies.AllKeys.Contains("LoginName")) { var cookietest = Request.Cookies["LoginName"]; cookietest.Expires = DateTime.Now.AddDays(-3); Response.Cookies.Add(cookietest); } HttpCookie cookie = new HttpCookie("LoginName", model.LoginName); cookie.Expires = DateTime.Now.AddDays(3); Request.Cookies.Add(cookie); //给用户设置票证 FormsAuthentication.SetAuthCookie(model.LoginName.ToString(), false); return(Json(new { success = 1 })); } else { return(Json(new { success = 2 })); } } else { return(Json(new { success = 3 })); } }
public static PathHashInfo GetPathHashInfo(string regular_path) { return(new PathHashInfo { hash0 = (int)DataEncrypt.HashString(0, regular_path), hash1 = (int)DataEncrypt.HashString(1, regular_path), hash2 = (int)DataEncrypt.HashString(2, regular_path) }); }
/// <summary> /// 登录 /// </summary> /// <param name="account">账号</param> /// <param name="password">密码</param> /// <returns></returns> public AccountEntity GetAccountNameAndPassowrd(string account, string password) { //对用户的密码MD5加密 password = DataEncrypt.DataMd5(password); AccountEntity accountEntity = dal.TEntity <AccountEntity>() .AsQueryable() .Where(a => a.Account == account && a.Password == password) .First(); return(accountEntity); }
/// <summary> /// 查询本地Cookie /// </summary> public void Check_Logined() { if (Request.Cookies["users"] != null) //查询cookie { string str = Request.Cookies["users"].Value; if (!string.IsNullOrEmpty(str)) { string[] users = DataEncrypt.DESDecrypt(str).Split(','); Login_Count_txt.Text = HttpUtility.UrlDecode(users[0]); //解码 this.Login_Password_txt.Attributes.Add("value", users[1]); Check_Pwd.Checked = true; //将记住密码打钩 } } }
public static ulong HashString(ulong type, string strIn) { if (!DataEncrypt.m_is_init) { DataEncrypt.InitCryptTable(); } ulong seed = 0x7FED7FED; ulong seed2 = 0xFFFFFFFFEEEEEEEE; foreach (char value in strIn) { ulong ch = (ulong)value; seed = (DataEncrypt.mCryptTable[(int)(checked ((IntPtr)(unchecked ((type << 8) + ch))))] ^ seed + seed2); seed2 = ch + seed + seed2 + (seed2 << 5) + 3UL; } return(seed); }
/// <summary> /// 登录成功后检查保存状态 /// </summary> /// <param name="userInfo"></param> public void Check_Login(UserInfo userInfo) { //登录成功了,设置Cookie if (Check_Pwd.Checked) //记住密码 { string userName = HttpUtility.UrlEncode(userInfo.Uid); //转成特殊 string userStr = $"{userName},{userInfo.UPwd}"; //cookie保存 HttpCookie cookie = new HttpCookie("users"); cookie.Value = DataEncrypt.DESEncrypt(userStr); cookie.Expires = DateTime.Now.AddDays(3); Response.Cookies.Add(cookie); } else { //手动设置过期时间 Response.Cookies["users"].Expires = DateTime.Now.AddDays(-1); } }
/// <summary> /// 初始化Smtp /// </summary> /// <param name="obj"></param> private void InitSmtp(EmailEntity obj) { try { string domainUser = m_EmailConfig.UserName; string domainPws = DataEncrypt.DecryptFromDB(m_EmailConfig.Password); _smtp = new SmtpClient { Host = obj.Smtp, Port = obj.Port, EnableSsl = obj.Ssl, Credentials = new System.Net.NetworkCredential(domainUser, domainPws) }; } catch (Exception ex) { //throw new DomainServiceException("InitSmtp Failed.", ex); } }
public bool QueryFileVersionByHashInfo(string file_path, out int file_version) { PathHashInfo hash_info = DataEncrypt.GetPathHashInfo(file_path); bool is_suc = false; file_version = 0; bool flag = this.m_sqlite_db != null; if (flag) { string sql = string.Format("select version from file_info where hash0 = '{0}' and hash1 = '{1}' and hash2 = '{2}'", hash_info.hash0, hash_info.hash1, hash_info.hash2); SQLiteQuery qr = new SQLiteQuery(this.m_sqlite_db, sql); if (qr.Step()) { file_version = qr.GetInteger("version"); is_suc = true; } } return(is_suc); }
/// <summary> /// 新用户注册 /// </summary> /// <param name="model"></param> /// <param name="LoginCode"></param> /// <returns></returns> public ActionResult InsertUser(UserLogin model, string LoginCode, string ConfirmPwd) { string userPwd = DataEncrypt.MD5Encrypt(model.LoginPwd.Trim()); model.LoginPwd = userPwd; string userPwd2 = DataEncrypt.MD5Encrypt(ConfirmPwd.Trim()); //判断验证码是否正确 if (LoginCode.ToLower() == Session["code"].ToString().ToLower()) { //判断密码和确认密码是否一致 if (userPwd == userPwd2) { //判断用户名是否已存在 if (UserManage.UserIfExist(model.LoginName)) { return(Json(new { success = 1 })); } else { //添加用户 if (UserManage.InsertUser(model)) { return(Json(new { success = 2 })); } else { return(Json(new { success = 3 })); } } } else { return(Json(new { success = 4 })); } } else { return(Json(new { success = 5 })); } }
public ActionResult UserResetPwd(string loginPwd, string confirmPwd) { string secrecyPwd = DataEncrypt.MD5Encrypt(loginPwd.Trim()); string secrecyPwd2 = DataEncrypt.MD5Encrypt(confirmPwd.Trim()); //新密码是否和确认密码一致 if (secrecyPwd == secrecyPwd2) { //重置密码 if (UserManage.AlterUserPwd(UserId, secrecyPwd)) { return(Json(new { success = 1 })); } else { return(Json(new { success = 2 })); } } else { return(Json(new { success = 3 })); } }
/// <summary> /// 将字节数组为Base64编码 /// </summary> /// <param name="bytebase">要编码的byte[]</param> /// <returns>base字符串</returns> public static string ByteToBase64(byte[] bytebase) { return(DataEncrypt.Encode(bytebase)); }
private static void ExportCyMzq(string file_name) { string _name = Path.GetFileNameWithoutExtension(file_name); string _dir = Path.GetDirectoryName(file_name); string _file = string.Format("{0}/{1}.txt", _dir, _name); if (File.Exists(_file)) { return; } StringBuilder log_sb = new StringBuilder(); FileStream fs = new FileStream(file_name, FileMode.Open); int nLength = (int)fs.Length; BinaryReader tmp_reader = new BinaryReader(fs); int unzip = tmp_reader.ReadInt32(); log_sb.Append("unzip = " + unzip + "\n"); if (unzip != 0) { int md5_data_size = 4; int version_data_size = 4; int len_data_size = 4; byte[] buffs = tmp_reader.ReadBytes(nLength - 4); int len = 0; byte[] DecompBuffs = Sqlite3tool.DecompNetBuffer(buffs, nLength, unzip, out len); if (unzip != len) { LogMgr.LogError("error: unzip != len"); } MemoryStream decomp_ms = new MemoryStream(DecompBuffs); BinaryReader decomp_reader = new BinaryReader(decomp_ms); int file_path_count = decomp_reader.ReadInt32(); int file_count = decomp_reader.ReadInt32(); byte[] file_path_byte = decomp_reader.ReadBytes(file_path_count); byte[] md5_code_byte = decomp_reader.ReadBytes(file_count * md5_data_size); byte[] version_byte = decomp_reader.ReadBytes(file_count * version_data_size); byte[] len_byte = decomp_reader.ReadBytes(file_count * len_data_size); MemoryStream md5_code_mem = new MemoryStream(md5_code_byte); BinaryReader md5_code_all = new BinaryReader(md5_code_mem); MemoryStream version_mem = new MemoryStream(version_byte); BinaryReader version_all = new BinaryReader(version_mem); MemoryStream len_mem = new MemoryStream(len_byte); BinaryReader len_all = new BinaryReader(len_mem); int file_path_begin_pos = 0; for (int index = 0; index < file_count; index++) { string file_path = ""; byte[] md5 = md5_code_all.ReadBytes(4); StringBuilder sb = new StringBuilder(); for (int i = 0; i < md5.Length; i++) { sb.Append(md5[i].ToString("X2")); } int version = version_all.ReadInt32(); int length = len_all.ReadInt32(); int end_pos = 0; Sqlite3tool.ParseFilePath(ref file_path_byte, file_path_begin_pos, file_path_count, out end_pos, out file_path); file_path_begin_pos = end_pos; PathHashInfo _hash = DataEncrypt.GetPathHashInfo(file_path); log_sb.Append("hash0: "); log_sb.Append(_hash.hash0); log_sb.Append(", "); log_sb.Append("hash1: "); log_sb.Append(_hash.hash1); log_sb.Append(", "); log_sb.Append("hash2: "); log_sb.Append(_hash.hash1); log_sb.Append(", "); log_sb.Append("version: "); log_sb.Append(version); log_sb.Append(", "); log_sb.Append("file_name: "); log_sb.Append(Util.GetAssetsBundlePathFromBase64(file_path)); log_sb.Append(", "); log_sb.Append("file_mds: "); log_sb.Append(sb.ToString()); log_sb.Append(", "); log_sb.Append("data_len: "); log_sb.Append(length); log_sb.Append(", "); log_sb.Append("unzip_len: "); log_sb.Append(length); log_sb.Append("\n"); } fs.Close(); fs.Dispose(); } System.IO.File.WriteAllText(_file, log_sb.ToString()); log_sb.Clear(); }
public static bool OpenCyMzq(string file_name, ref Dictionary <string, DbFileInfo> map) { FileStream fs = new FileStream(file_name, FileMode.Open); int nLength = (int)fs.Length; BinaryReader tmp_reader = new BinaryReader(fs); int unzip = tmp_reader.ReadInt32(); bool result; if (unzip == 0) { result = false; } else { int md5_data_size = 4; int version_data_size = 4; int len_data_size = 4; byte[] buffs = tmp_reader.ReadBytes(nLength - 4); int len = 0; byte[] DecompBuffs = Sqlite3tool.DecompNetBuffer(buffs, nLength, unzip, out len); if (unzip != len) { LogMgr.LogError("error: unzip != len"); } MemoryStream decomp_ms = new MemoryStream(DecompBuffs); BinaryReader decomp_reader = new BinaryReader(decomp_ms); int file_path_count = decomp_reader.ReadInt32(); int file_count = decomp_reader.ReadInt32(); byte[] file_path_byte = decomp_reader.ReadBytes(file_path_count); byte[] md5_code_byte = decomp_reader.ReadBytes(file_count * md5_data_size); byte[] version_byte = decomp_reader.ReadBytes(file_count * version_data_size); byte[] len_byte = decomp_reader.ReadBytes(file_count * len_data_size); MemoryStream md5_code_mem = new MemoryStream(md5_code_byte); BinaryReader md5_code_all = new BinaryReader(md5_code_mem); MemoryStream version_mem = new MemoryStream(version_byte); BinaryReader version_all = new BinaryReader(version_mem); MemoryStream len_mem = new MemoryStream(len_byte); BinaryReader len_all = new BinaryReader(len_mem); int file_path_begin_pos = 0; for (int index = 0; index < file_count; index++) { string file_path = ""; byte[] md5 = md5_code_all.ReadBytes(4); StringBuilder sb = new StringBuilder(); for (int i = 0; i < md5.Length; i++) { sb.Append(md5[i].ToString("X2")); } int version = version_all.ReadInt32(); int length = len_all.ReadInt32(); int end_pos = 0; Sqlite3tool.ParseFilePath(ref file_path_byte, file_path_begin_pos, file_path_count, out end_pos, out file_path); file_path_begin_pos = end_pos; DbFileInfo info = new DbFileInfo(); info.file_name = file_path; info.hash_info = DataEncrypt.GetPathHashInfo(file_path); info.version = version; info.data_len = length; info.unzip_len = length; info.file_md5 = sb.ToString(); map.Add(info.file_name, info); } fs.Close(); fs.Dispose(); result = true; } #if UNITY_EDITOR //ExportCyMzq(file_name); #endif return(result); }
/// <summary> /// 将Base64编码解析成字符串 /// </summary> /// <param name="strbase">要解码的string字符</param> /// <param name="encoding">字符编码方案</param> /// <returns>字符串</returns> public static string Base64ToString(string strbase, Encoding encoding) { return(DataEncrypt.Decode(strbase, encoding)); }
/// <summary> /// 将字符串转为字节数组 /// </summary> /// <param name="s">字符串</param> /// <param name="e">编码,默认为Default</param> /// <returns>字节数组</returns> public static byte[] StringToByte(string s, Encoding e = null) { return(DataEncrypt.StringToByte(s, e)); }
/// <summary> /// 将字节数组转为字符串 /// </summary> /// <param name="b">字节数组</param> /// <param name="e">编码,默认为Default</param> /// <returns>字符串</returns> public static string ByteToString(byte[] b, Encoding e = null) { return(DataEncrypt.ByteToString(b, e)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { var param = false; if (model.typeLoginValidate == 1) { model.Password = "******"; var consultarUsuario = (from aspNetUser in _db.AspNetUsers where aspNetUser.UserName == model.Username select aspNetUser).FirstOrDefault(); if (consultarUsuario != null) { //if (consultarUsuario.Status == 1) //{ // ModelState.AddModelError("", "La cuenta ya se encuentra conectada."); // return View(model); // } //else //{ if (consultarUsuario.IdentificationUser == null) { consultarUsuario.IdentificationUser = model.UserRed; //Save changes _db.AspNetUsers.AddOrUpdate(consultarUsuario); _db.SaveChanges(); } var loggedinUserDA = await UserManager.FindAsync(model.Username, "Test12345*"); if (loggedinUserDA != null) { await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id); } //} } else { // Si el usuario ingresa por primera vez, se guardan los datos a la base de datos. //Create a role manager object var roleStore = new RoleStore <IdentityRole>(); var roleMgr = new RoleManager <IdentityRole>(roleStore); var profile = "avatar.jpeg"; var email = model.Correo.Split('@'); var emailFinal = email[0] + "@axity.com"; var companyId = 1; //Load user data into memory // Se guardan los datos var user = new ApplicationUser { UserName = model.Username, Email = emailFinal, CompanyId = companyId, ProfilePictureLocation = profile, IdentificationUser = model.UserRed }; // Se añade la clave y se guarda a la base de datos. var result1 = await UserManager.CreateAsync(user, "Test12345*"); //IF created succesfully if (result1.Succeeded) { //Se crea el objeto del id del usuario registrado var userId = await UserManager.FindByNameAsync(model.Username); //Se le añade un rol predeterminado (USUARIO) var role = await roleMgr.FindByIdAsync("e4501cfd-212b-4e67-a507-e4469657caf7"); //Se añade el rol y el id del usuario await UserManager.AddToRoleAsync(userId.Id, role.Name); } AddErrors(result1); // Inicia sesión automáticamente var loggedinUserDA = await UserManager.FindAsync(model.Username, "Test12345*"); if (loggedinUserDA != null) { await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id); } } } else if (model.typeLoginValidate == 2) { DataEncrypt valores = new DataEncrypt(); //var ttr = ServiceSAC.Service1SoapClient; ServiceSAC.Service1SoapClient ps = new ServiceSAC.Service1SoapClient(); var user = model.Username; var pwd = model.Password; var userEncryp = valores.Encrypt(user); var pwdEncryp = valores.Encrypt(pwd); try { var previewResult = ps.LoginAsync(userEncryp, pwdEncryp); var resultes = previewResult.Result; NameUser = resultes.Body.LoginResult;//errorThe user name or password is incorrect. if (NameUser.Contains("incorrect")) { var consultarUsuario = (from aspNetUser in _db.AspNetUsers where aspNetUser.UserName == model.Username select aspNetUser).FirstOrDefault(); if (consultarUsuario.Status == 1) { ModelState.AddModelError("", "La cuenta ya se encuentra conectada."); return(View(model)); } else { var loggedinUserDA = await UserManager.FindAsync(model.Username, model.Password); if (loggedinUserDA != null) { await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id); var result2 = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout : false); switch (result2) { case SignInStatus.Success: if (param) { return(RedirectToAction("Index", "Home", new { autoAgent = "true" })); } else { return(RedirectToAction("Index", "Home")); //hola } case SignInStatus.LockedOut: return(View("Lockout")); //case SignInStatus.RequiresVerification: //return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, model.RememberMe }); } } } } else { var consultarUsuario = (from aspNetUser in _db.AspNetUsers where aspNetUser.UserName == NameUser select aspNetUser).FirstOrDefault(); if (consultarUsuario != null) { if (consultarUsuario.IdentificationUser == null) { consultarUsuario.IdentificationUser = user; //Save changes _db.AspNetUsers.AddOrUpdate(consultarUsuario); _db.SaveChanges(); } var loggedinUserDA = await UserManager.FindByNameAsync(NameUser); await SignInManager.SignInAsync(loggedinUserDA, true, false); return(RedirectToAction("Index", "Home")); } else { Console.Write("pr"); var roleStore = new RoleStore <IdentityRole>(); var roleMgr = new RoleManager <IdentityRole>(roleStore); var profile = "avatar.jpeg"; var companyId = 3; var random = RandomNumber(); var aleaEmail = "Salud" + random.ToString() + "*****@*****.**"; var email = user + "*****@*****.**"; var userName = new ApplicationUser { UserName = NameUser, Email = email, CompanyId = companyId, ProfilePictureLocation = profile, IdentificationUser = null }; // Se añade la clave y se guarda a la base de datos. var result1 = await UserManager.CreateAsync(userName); //IF created succesfully if (result1.Succeeded) { //Se crea el objeto del id del usuario registrado var userId = await UserManager.FindByNameAsync(NameUser); //Se le añade un rol predeterminado (USUARIO) var role = await roleMgr.FindByIdAsync("e4501cfd-212b-4e67-a507-e4469657caf7"); //Se añade el rol y el id del usuario await UserManager.AddToRoleAsync(userId.Id, role.Name); await SignInManager.SignInAsync(userName, true, false); return(RedirectToAction("Index", "Home")); } AddErrors(result1); } } } catch { var consultarUsuario = (from aspNetUser in _db.AspNetUsers where aspNetUser.UserName == model.Username select aspNetUser).FirstOrDefault(); if (consultarUsuario.Status == 1) { ModelState.AddModelError("", "La cuenta ya se encuentra conectada."); return(View(model)); } else { var loggedinUserDA = await UserManager.FindAsync(model.Username, model.Password); if (loggedinUserDA != null) { await UserManager.UpdateSecurityStampAsync(loggedinUserDA.Id); var result2 = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout : false); switch (result2) { case SignInStatus.Success: if (param) { return(RedirectToAction("Index", "Home", new { autoAgent = "true" })); } else { return(RedirectToAction("Index", "Home")); } case SignInStatus.LockedOut: return(View("Lockout")); //case SignInStatus.RequiresVerification: //return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, model.RememberMe }); } } } } } return(View(model)); }
/// <summary> /// 将字符串转为Base64编码 /// </summary> /// <param name="str">要编码的string字符</param> /// <param name="encoding">字符编码方案</param> /// <returns>base字符串</returns> public static string StringToBase64(string str, Encoding encoding) { return(DataEncrypt.Encode(str, encoding)); }