public ActionResult Cifrado(string ArchivoLeido, string Key) { //permutaciones var P10 = string.Empty; var P8 = string.Empty; var P4 = string.Empty; var EP = string.Empty; var IP = string.Empty; var ReverseIP = string.Empty; CifradoSDES cifradoSDES = new CifradoSDES(); cifradoSDES.GenerarPermutaciones(bufferLengt, ref P10, ref P8, ref P4, ref EP, ref IP, ref ReverseIP, RutaArchivos, nombreArchivo); //generar claves var resultanteLS1 = string.Empty; var K1 = cifradoSDES.GenerarK1(Key, P10, P8, ref resultanteLS1); var K2 = cifradoSDES.GenerarK2(resultanteLS1, P8); //cifrar List <string> BinaryList = cifradoSDES.LecturaArchivo(ArchivoLeido, bufferLengt); List <byte> byteList = new List <byte>(); var cifrar = true; //var cifrar = true; foreach (string binary in BinaryList) { byte bytefinal = cifradoSDES.CifrarODecifrar(binary, IP, EP, K1, P4, K2, ReverseIP, cifrar); byteList.Add(bytefinal); } cifradoSDES.EscrituraArchivo(byteList, RutaArchivos); return(RedirectToAction("Download")); }
public ActionResult ClaveDes(SDESViewModel sdes) { try { if (ModelState.IsValid) { if (sdes.Numero > 0 && sdes.Numero < 1024) { //Mandar a llamar al metodo para cifrar FilePath = Server.MapPath("~/Archivo"); var path = Path.Combine(Server.MapPath("~/Archivo"), sdes.NombreArchivo); var pathPermutaciones = Path.Combine(Server.MapPath("~/Archivo"), "Permutaciones.txt"); CifradoSDES cifSDES = new CifradoSDES(); cifSDES.Descifrar(sdes.NombreArchivo, path, FilePath, sdes.Numero, pathPermutaciones); return(RedirectToAction(nameof(ArchivoDescifrado))); } else { return(View(sdes)); } } else { return(View(sdes)); } } catch { return(RedirectToAction(nameof(ArchivoDescifrado))); } }
public void Reset() { switch (Extension) { case "scif": File.Delete(RutaAbsolutaServer + NombreArchivo + ".txt"); DescifradoSDES = new DescifradoSDES("", "", "", 0, ""); break; case "txt": File.Delete(RutaAbsolutaServer + NombreArchivo + ".scif"); CifradoSDES = new CifradoSDES("", "", "", 0, ""); break; } Data.Instancia.ArchivoCargado = false; Data.Instancia.EleccionOperacion = false; }
public void Operar(string rutaArchivoPermutaciones) { try { switch (Extension) { case "txt": //Cifra CifradoSDES = new CifradoSDES(NombreArchivo, RutaAbsolutaArchivo, RutaAbsolutaServer, Clave, rutaArchivoPermutaciones); CifradoSDES.Cifrar(); break; case "scif": //Descifra DescifradoSDES = new DescifradoSDES(NombreArchivo, RutaAbsolutaArchivo, RutaAbsolutaServer, Clave, rutaArchivoPermutaciones); DescifradoSDES.Descifrar(); break; } } catch (Exception e) { throw new Exception(e.Message); } }