public IActionResult Descifrar([FromRoute] string method, [FromForm] IFormFile file, [FromForm] Datos key) { string nombre = (file.FileName); using var fileRead = file.OpenReadStream(); try { if (nombre.Contains(".csr") && key.Word != null) { var BfileRead = new BufferedStream(fileRead); var reader = new StreamReader(BfileRead); string prueba = reader.ReadToEnd(); reader.Close(); BfileRead.Close(); fileRead.Close(); //WRITE var fileWrite = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".txt", FileMode.OpenOrCreate); var BfileWrite = new BufferedStream(fileWrite); var writer = new StreamWriter(BfileWrite); Cifrado hola = new Cifrado(); string encoded = hola.encoder(key.Word); string salida = ""; salida = hola.DecifrarCesar(prueba, encoded); foreach (char item in salida) { writer.Write(item); } writer.Close(); BfileWrite.Close(); fileWrite.Close(); var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".txt"); return(new FileStreamResult(files, "application/txt") { FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".txt" }); } else if (nombre.Contains(".zz") && key.Levels != null) { var BfileRead = new BufferedStream(fileRead); var reader = new StreamReader(BfileRead); string prueba = reader.ReadToEnd(); reader.Close(); BfileRead.Close(); fileRead.Close(); //WRITE var fileWrite = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".txt", FileMode.OpenOrCreate); var BfileWrite = new BufferedStream(fileWrite); var writer = new StreamWriter(BfileWrite); Cifrado hola = new Cifrado(); string salida = ""; salida = hola.Descifrarzigzag(prueba, key.Levels); foreach (char item in salida) { writer.Write(item); } writer.Close(); BfileWrite.Close(); fileWrite.Close(); var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".txt"); return(new FileStreamResult(files, "application/txt") { FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".txt" }); } else if (nombre.Contains(".rt") && key.Rows != null && key.Columns != null) { var BfileRead = new BufferedStream(fileRead); var reader = new StreamReader(BfileRead); string prueba = reader.ReadToEnd(); reader.Close(); BfileRead.Close(); fileRead.Close(); //WRITE var fileWrite = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".txt", FileMode.OpenOrCreate); var BfileWrite = new BufferedStream(fileWrite); var writer = new StreamWriter(BfileWrite); Cifrado hola = new Cifrado(); string salida = ""; salida = hola.DecifrarRuta(prueba, key.Rows, key.Columns); foreach (char item in salida) { writer.Write(item); } writer.Close(); BfileWrite.Close(); fileWrite.Close(); var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".txt"); return(new FileStreamResult(files, "application/rt") { FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".txt" }); } else { return(BadRequest("Error no ingreso método o llave")); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }