public ActionResult Index(HttpPostedFileBase file, string password, string cifrado, string operacion) { //Validar datos de entrada if (file != null) { //Subir Archivo if (validarPassword(password, cifrado)) { string path = Path.Combine(directorioUploads, Path.GetFileName(file.FileName) ?? ""); UploadFile(path, file); switch (operacion) { case "1": //Cifrar switch (cifrado) { case "1": //Cesar Cesar.Cifrado(path, password); break; case "2": //Zig Zag int corrimiento = Convert.ToInt32(password); ZigZag.Cifrado(path, corrimiento); break; case "3": //Espiral int clave = Convert.ToInt32(password); Espiral.Cifrar(path, clave); break; case "4": //SDES int passwordSDES = Convert.ToInt32(password); SDES CifradoSdes = new SDES(); CifradoSdes.Cifrar(path, passwordSDES); break; } break; case "2": //Descifrar switch (cifrado) { case "1": //Cesar Cesar.Descifrar(path, password); break; case "2": //Zig Zag int corrimiento = Convert.ToInt32(password); ZigZag.Descifrar(path, corrimiento); break; case "3": //Espiral int clave = Convert.ToInt32(password); Espiral.Descifrar(path, clave); break; case "4": //SDES int passwordSDES = Convert.ToInt32(password); SDES CifradoSdes = new SDES(); CifradoSdes.Descifrar(path, passwordSDES); break; } break; } return(RedirectToAction("Download")); } } else { ViewBag.Message = "No ha especificado un archivo."; } return(View()); }