public async Task ResetPasswordByTokenAsync(ResetPasswordDTO model) { var decryptedToken = Encrypting.Decrypt(HttpUtility.UrlDecode(model.Token), _configuration["EncryptionKey"], true); var tokenParts = decryptedToken.Split("|"); if (tokenParts.Length < 2) { throw new InvalidDataException("TokenViewModel is not valid"); } var email = tokenParts[0]; var expireTime = tokenParts[1]; if (DateTime.Compare(DateTime.UtcNow, DateTime.Parse(expireTime)) == 1) { throw new TokenExpiredException("TokenViewModel is expired"); } var user = await(await _userRepository.GetAllAsync(u => u.Email == email)).FirstOrDefaultAsync(); if (user == null) { throw new EntityNotExistException("This user is not exist"); } user.Password = _hashMd5Service.GetMd5Hash(model.Password); await _userRepository.UpdateAsync(user); }
public JsonResult LoginUser(string user, string pass) { try { EncryptPass = ServiceEncryp.Encryp(pass); DataTable dt = UserService.spGetUse(user); if (dt.Rows.Count == 0) { data.message = "las Credenciales ingresadas no son validas"; data.status = "error"; return(Json(data, JsonRequestBehavior.AllowGet)); } var PassDB = dt.Rows[0]["password"].ToString(); var descripPassDB = ServiceEncryp.Decrypt(PassDB); if (pass == PassDB || pass == descripPassDB) { System.Web.HttpContext.Current.Session["idUser"] = dt.Rows[0]["id"]; System.Web.HttpContext.Current.Session["email"] = dt.Rows[0]["email"]; System.Web.HttpContext.Current.Session["active"] = dt.Rows[0]["active"]; var active = Convert.ToInt32(System.Web.HttpContext.Current.Session["active"]); var email = System.Web.HttpContext.Current.Session["email"]; SecurityHelper.GenerateAuthentication(user); if (active == 0) { data.message = "El usuario se encuentra inactivo"; data.status = "error"; return(Json(data, JsonRequestBehavior.AllowGet)); } SecurityHelper.GenerateAuthentication(user); data.message = "las Credenciales validas"; data.url = Url.Action("Principal", "PaperBag"); } else { data.message = "Contraseña Invalida"; data.status = "error"; return(Json(data, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { data.message = ex.Message; data.status = "error"; return(Json(data, JsonRequestBehavior.AllowGet)); } return(Json(data, JsonRequestBehavior.AllowGet)); //return Json(new { url = Url.Action("Proyect", "ControlSheet") }); }
public bool CheckPassword(string password) { try { var res = Encrypting.Decrypt(Password, PrivateKey); return(res.Result.Equals(password)); } catch (Exception) { return(false); } }
private User InfoDecryptor(User user) { user.Firstname = Crypto.Decrypt(user.Firstname); user.Lastname = Crypto.Decrypt(user.Lastname); user.Address = Crypto.Decrypt(user.Address); user.Zipcode = Crypto.Decrypt(user.Zipcode); user.Place = Crypto.Decrypt(user.Place); user.Phone = Crypto.Decrypt(user.Phone); user.Email = Crypto.Decrypt(user.Email); //GET FIELD NAME AND VALUE!!! //FieldInfo[] fields = user.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic); //for (int i = 0; i < fields.Length; i++) //{ // var FieldValue = fields[i].GetValue(user).ToString(); // string FullFieldName = fields[i].Name; // string TrimmedFieldName = FullFieldName.Remove(FullFieldName.IndexOf('>')).Substring(FullFieldName.IndexOf('<') + 1); //} return(user); }