public async Task <IActionResult> cifrarDescifrar([FromForm] IFormFile file, [FromForm] IFormFile key, string nombre) { Cifrado cifDes = new Cifrado(); string path = @".\temporales\"; string[] separado = (key.FileName).Split('.'); string terminacion = separado[0]; try { using (var filestream = new FileStream((path + file.FileName), FileMode.Create)) { await file.CopyToAsync(filestream); filestream.Close(); } using (var filestream2 = new FileStream((path + key.FileName), FileMode.Create)) { await key.CopyToAsync(filestream2); filestream2.Close(); } string pathFile = path + file.FileName; FileStream fileS = new FileStream(pathFile, FileMode.Open, FileAccess.Read); string linea = System.IO.File.ReadAllText(path + key.FileName, System.Text.Encoding.Default); if (terminacion == "public") { FileStream nuevo = new FileStream(@".\" + nombre + ".txt", FileMode.Create, FileAccess.ReadWrite); string[] data = linea.Split(','); int n = Convert.ToInt32(data[0]); int e = Convert.ToInt32(data[1]); List <byte> bytes = cifDes.cifrar(fileS, n, e); nuevo.Write(bytes.ToArray()); nuevo.Close(); System.IO.File.Delete(path + file.FileName); System.IO.File.Delete(path + key.FileName); } else if (terminacion == "private") { FileStream nuevo = new FileStream(@".\" + nombre + ".txt", FileMode.Create, FileAccess.ReadWrite); string[] data = linea.Split(','); int n = Convert.ToInt32(data[0]); int d = Convert.ToInt32(data[1]); List <byte> bytes = cifDes.descifrar(fileS, n, d); nuevo.Write(bytes.ToArray()); nuevo.Close(); System.IO.File.Delete(path + file.FileName); System.IO.File.Delete(path + key.FileName); } return(StatusCode(200)); } catch { return(StatusCode(500)); } }