public async Task <IActionResult> RestablecerPass(int id, String pass, String confpass) { Usuario u = await repo.BuscarUsuarioAsync(id); if (pass.Length < 6) { ViewData["Error"] = "La longitud de la contraseña nueva debe de tener al menos 6 caractéres"; return(View(u)); } else if (pass != confpass) { ViewData["Error"] = "Las nuevas contraseñas no coinciden"; return(View(u)); } else { String token = HttpContext.Session.GetString("Token"); await repo.CambiarPasswordAsync(id, pass, token); return(RedirectToAction("CerrarSesion", "Manage")); } }
public async Task <IActionResult> CambiarPass(int id, String passanterior, String passnuevo, String confpassnuevo) { Usuario u = await repo.BuscarUsuarioAsync(id); String salt = u.Salt; byte[] txtACifrar = CypherHelper.CifradoHashSHA256(passanterior + salt); if (CypherHelper.CompararBytes(txtACifrar, u.Password) == false) { ViewData["Error"] = "La contraseña anterior no es correcta"; return(View(u)); } else if (passnuevo.Length < 6) { ViewData["Error"] = "La longitud de la contraseña nueva debe de tener al menos 6 caractéres"; return(View(u)); } else if (passnuevo != confpassnuevo) { ViewData["Error"] = "Las nuevas contraseñas no coinciden"; return(View(u)); } else if (passanterior == passnuevo) { ViewData["Error"] = "La contraseña anterior es la misma que la nueva"; return(View(u)); } else { String token = HttpContext.Session.GetString("Token"); await repo.CambiarPasswordAsync(id, passnuevo, token); return(RedirectToAction("CerrarSesion", "Manage")); } }