예제 #1
0
 public IActionResult Cipher([FromRoute] string method, [FromForm] IFormFile file, [FromForm] Key key)
 {
     try
     {
         if (key != null && file != null)
         {
             string     RutaOriginal = Path.GetFullPath("Archivos Originales\\" + file.FileName);
             string     RutaCifrado;
             FileStream ArchivoOriginal = new FileStream(RutaOriginal, FileMode.OpenOrCreate);
             file.CopyTo(ArchivoOriginal);
             ArchivoOriginal.Close();
             if (method == "ruta")
             {
                 RutaCifrado = Path.GetFullPath("Archivos Cifrado\\" + file.FileName.Split('.')[0] + ".rt");
                 CifradoRuta.Encriptar(RutaOriginal, RutaCifrado, key.columns, key.rows);
                 FileStream       ArchivoFinal = new FileStream(RutaCifrado, FileMode.Open);
                 FileStreamResult FileFinal    = new FileStreamResult(ArchivoFinal, "text/rt");
                 return(FileFinal);
             }
             else if (method == "zigzag")
             {
                 RutaCifrado = Path.GetFullPath("Archivos Cifrado\\" + file.FileName.Split('.')[0] + ".zz");
                 CifradoZigZag.Encriptar(RutaOriginal, RutaCifrado, key.levels);
                 FileStream       ArchivoFinal = new FileStream(RutaCifrado, FileMode.Open);
                 FileStreamResult FileFinal    = new FileStreamResult(ArchivoFinal, "text/zz");
                 return(FileFinal);
             }
             else if (method == "cesar")
             {
                 RutaCifrado = Path.GetFullPath("Archivos Cifrado\\" + file.FileName.Split('.')[0] + ".csr");
                 CifradoCesar.Encriptar(RutaOriginal, RutaCifrado, key.word);
                 FileStream       ArchivoFinal = new FileStream(RutaCifrado, FileMode.Open);
                 FileStreamResult FileFinal    = new FileStreamResult(ArchivoFinal, "text/csr");
                 return(FileFinal);
             }
             else
             {
                 return(BadRequest());
             }
         }
         else
         {
             return(BadRequest());
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }