public ActionResult Login(string username, string password) { SDES cipher = new SDES(); bool correcto = false; var personas = obtenerPersonas(); foreach (var item in personas) { if (item.username == username && item.password == cipher.CifrarTexto(password, password.Length)) { correcto = true; break; } } if (correcto) { string strUrl = String.Format("https://localhost:44316/api/token"); string postUrl = $"{strUrl}/?username={username}&password={password}"; WebRequest requestObjPost = WebRequest.Create(postUrl); requestObjPost.Method = "POST"; requestObjPost.ContentType = "application/json"; try { using (var streamWriter = new StreamWriter(requestObjPost.GetRequestStream())) { streamWriter.Write(""); streamWriter.Flush(); streamWriter.Close(); var httpResponse = (HttpWebResponse)requestObjPost.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); //Guardar cookie con el token de inicio de sesion HttpContext.Response.Cookies.Add(new HttpCookie("userID", result)); return(RedirectToAction("Index", "Chat")); } } } catch (Exception) { ViewBag.Message = "Usuario o contraseña incorrecto"; return(View()); } } else { ViewBag.Message = "Credenciales incorrectas"; return(View()); } }
public void Transfer([FromForm] TransferRequest objTra) { SDES.GetKey(); BStarTree <BranchProductRequest> .StartTree("BranchProduct", new StringToObject(BranchProductRequest.StringToObject), new ObjectToString(BranchProductRequest.ObjectToString)); var ArrayA = BStarTree <BranchProductRequest> .Road(new BranchProductRequest { IdBranch = objTra.id1, IdProduct = objTra.idProduct }, 1); var ArrayB = BStarTree <BranchProductRequest> .Road(new BranchProductRequest { IdBranch = objTra.id2, IdProduct = objTra.idProduct }, 1); if (ArrayA.Count != 0 && ArrayA[0].Inventory - objTra.Quantity >= 0) { if (ArrayB.Count == 0) { BStarTree <BranchProductRequest> .InsertTree(new BranchProductRequest { IdBranch = objTra.id2, IdProduct = objTra.idProduct, Inventory = objTra.Quantity }); } else { ArrayB[0].Inventory = ArrayB[0].Inventory + objTra.Quantity; BStarTree <BranchProductRequest> .Modify(ArrayB[0], new string[2] { ArrayB[0].Inventory.ToString(), "" }, new Modify(BranchProductRequest.Update)); } ArrayA[0].Inventory = ArrayA[0].Inventory - objTra.Quantity; BStarTree <BranchProductRequest> .Modify(ArrayA[0], new string[2] { ArrayA[0].Inventory.ToString(), "" }, new Modify(BranchProductRequest.Update)); } }
private void ExecuteSDES() { if (this.model.SDESKey.Length != 10 || !Regex.IsMatch(this.model.SDESKey, "^[01]+$")) { MessageBox.Show( "Неправильний ключ", "Помилка", MessageBoxButton.OK, MessageBoxImage.Error); } var system = new SDES(this.model.Alphabet) { IsStrict = this.model.IsStrict }; var key = new BitArray( this.model.SDESKey.Select(ch => ch == '1').ToArray()); if (this.model.Action == "Зашифрувати") { this.Encrypt(system, new Key <BitArray>(key)); } else { this.Decrypt(system, new Key <BitArray>(key)); } }
public void Add([FromForm] OfficeProduct info) { ArbolB <OfficeProduct> .IniciarArbol("OfficeProduct", new StringToObject(OfficeProduct.StringToObject), new ObjectToString(OfficeProduct.ObjectToString)); SDES.obtainKey(); ArbolB <OfficeProduct> .InsertarArbol(new OfficeProduct { IdOffice = info.IdOffice, IdProduct = info.IdProduct, Inventory = info.Inventory }); }
public static void SDESProcess(string user1, string user2) { int exit = 1; while (exit == 1) { Console.Clear(); Console.WriteLine(" --- PRUEBAS ---"); Console.WriteLine("\n --- MongoDB ---"); var client = new MongoClient("mongodb://localhost:27017"); var db = client.GetDatabase("local"); var messagesDB = db.GetCollection <MessageModel>("messages"); List <MessageModel> result1 = messagesDB.Find(x => (x.Transmitter == user1 && x.Receiver == user2 && x.Type == 1) || (x.Transmitter == user2 && x.Receiver == user1 && x.Type == 1)).ToList().OrderBy(x => x.Date).ToList(); for (int i = 0; i < result1.Count; i++) { Console.WriteLine((i + 1) + ") " + result1[i].Transmitter + " | " + result1[i].Receiver + " | " + result1[i].Id + " | " + result1[i].Date); } Console.WriteLine("\nIngrese el número del mensaje a descrifrar"); int option = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("\nIngrese la llave"); int key = Convert.ToInt32(Console.ReadLine()); SDES sdes = new SDES(); sdes.SetKeys(key); Console.WriteLine($"\nMensaje cifrado\n{result1[option - 1].Content}\n\nMensaje descifrado\n{ConvertToString(sdes.DecryptText(ConvertToByte(result1[option - 1].Content)))}"); Console.WriteLine("\n¿Desea descifrar otro mensaje? (1) Sí (0) No"); exit = Convert.ToInt32(Console.ReadLine()); } }
public ActionResult Descargar(string path) { //Recuperar path path = path.Replace("~", "/"); int cifradoValue = Int16.Parse(HttpContext.Request.Cookies["cifrado"].Value); //Descifrar SDES cipher = new SDES(); string rutaCifrado = cipher.DescifrarArchivo(path, Directories.directorioTemporal, cifradoValue); //Descomprimir string rutaComprimido = LZW.descomprimirArchivo(rutaCifrado, Directories.directorioDescargas); //Descargar if (!String.IsNullOrEmpty(rutaComprimido)) { byte[] filedata = System.IO.File.ReadAllBytes(rutaComprimido); var cd = new System.Net.Mime.ContentDisposition { FileName = Path.GetFileName(rutaComprimido), Inline = true, }; Response.AppendHeader("Content-Disposition", cd.ToString()); return(File(filedata, "application/force-download")); } else { return(RedirectToAction("Index")); } }
public void Add([FromForm] OfficeData info) { ArbolB <OfficeData> .IniciarArbol("Office", new StringToObject(OfficeData.StringToObject), new ObjectToString(OfficeData.ObjectToString)); SDES.obtainKey(); ArbolB <OfficeData> .InsertarArbol(new OfficeData { ID = ArbolB <OfficeData> .newID(), Name = info.Name, Address = info.Address }); }
public void Add([FromForm] ProductData info) { ArbolB <ProductData> .IniciarArbol("Product", new StringToObject(ProductData.StringToObject), new ObjectToString(ProductData.ObjectToString)); SDES.obtainKey(); ArbolB <ProductData> .InsertarArbol(new ProductData { ID = ArbolB <ProductData> .newID(), Name = info.Name, Price = info.Price }); }
public List <OfficeData> OfficeShow([FromForm] int id) { ArbolB <OfficeData> .IniciarArbol("Office", new StringToObject(OfficeData.StringToObject), new ObjectToString(OfficeData.ObjectToString)); SDES.obtainKey(); return(ArbolB <OfficeData> .Recorrido(new OfficeData { ID = id }, 1)); }
public List <ProductData> ProductShow([FromForm] int id) { ArbolB <ProductData> .IniciarArbol("Product", new StringToObject(ProductData.StringToObject), new ObjectToString(ProductData.ObjectToString)); SDES.obtainKey(); return(ArbolB <ProductData> .Recorrido(new ProductData { ID = id }, 1)); }
public List <ProductData> AllProduct() { ArbolB <ProductData> .IniciarArbol("Product", new StringToObject(ProductData.StringToObject), new ObjectToString(ProductData.ObjectToString)); SDES.obtainKey(); return(ArbolB <ProductData> .Recorrido(null)); }
public List <OfficeProduct> AllOfficeProduct() { ArbolB <OfficeProduct> .IniciarArbol("OfficeProduct", new StringToObject(OfficeProduct.StringToObject), new ObjectToString(OfficeProduct.ObjectToString)); SDES.obtainKey(); return(ArbolB <OfficeProduct> .Recorrido(null)); }
public void Add([FromForm] IFormFile info) { ArbolB <ProductData> .IniciarArbol("Product", new StringToObject(ProductData.StringToObject), new ObjectToString(ProductData.ObjectToString)); SDES.obtainKey(); ProductData.InsertCSV(info.OpenReadStream()); }
public void transfer([FromForm] int idProduct, [FromForm] int idO1, [FromForm] int idO2, [FromForm] int cant) { SDES.obtainKey(); ArbolB <OfficeProduct> .IniciarArbol("OfficeProduct", new StringToObject(OfficeProduct.StringToObject), new ObjectToString(OfficeProduct.ObjectToString)); var data1 = ArbolB <OfficeProduct> .Recorrido(new OfficeProduct { IdOffice = idO1, IdProduct = idProduct }, 1); var data2 = ArbolB <OfficeProduct> .Recorrido(new OfficeProduct { IdOffice = idO2, IdProduct = idProduct }, 1); if (data1.Count != 0 && data1[0].Inventory - cant >= 0) { if (data2.Count == 0) { ArbolB <OfficeProduct> .InsertarArbol(new OfficeProduct { IdOffice = idO2, IdProduct = idProduct, Inventory = cant }); } else { data2[0].Inventory = data2[0].Inventory + cant; ArbolB <OfficeProduct> .Modificar(data2[0], new string[2] { data2[0].Inventory.ToString(), string.Empty }, new Modify(OfficeProduct.Alter)); } data1[0].Inventory = data1[0].Inventory - cant; ArbolB <OfficeProduct> .Modificar(data1[0], new string[2] { data1[0].Inventory.ToString(), string.Empty }, new Modify(OfficeProduct.Alter)); } }
public List <OfficeProduct> OfficeProductShow([FromForm] int idOffice, [FromForm] int idProduct) { ArbolB <OfficeProduct> .IniciarArbol("OfficeProduct", new StringToObject(OfficeProduct.StringToObject), new ObjectToString(OfficeProduct.ObjectToString)); SDES.obtainKey(); return(ArbolB <OfficeProduct> .Recorrido(new OfficeProduct { IdOffice = idOffice, IdProduct = idProduct }, 1)); }
public string Create(string senderReceptor, string textMessage, HttpPostedFileBase file) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:53273/api/Texts"); if (textMessage.Equals(string.Empty) && file == null) { return("No puede enviar mensajes vacios"); } if (textMessage != string.Empty) { var cipher = new SDES(); var getUser = new UsersLogic(); var receptor = senderReceptor.Split('|'); var a = getUser.getUserByUsername(receptor[1]).PrivateKey; var receptorKey = (Math.Pow(g, a) % p); var key = BigInteger.ModPow((int)receptorKey, UserPrivateKey, p); var cipherKey = Convert.ToString(((int)key), 2); textMessage = cipher.CipherText(textMessage, cipherKey); } else { textMessage = string.Empty; } var compressFile = new CompresssDecompressActions(); var message = new MessageModel() { SenderReceptor = senderReceptor, Message = textMessage, UploadedFile = file != null?compressFile.generateCharactersList(file) : "", PublicKey = (int)(Math.Pow(g, UserPrivateKey) % p) }; var postTask = client.PostAsJsonAsync("Messages", message); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { return("200"); } else { if ((int)result.StatusCode >= 400 && (int)result.StatusCode < 500) { return(result.StatusCode.ToString() + ". Revise los datos ingresados :D"); } else { return(result.StatusCode.ToString() + ". Contacte a un desarrollador del sistema D:"); } } } }
public void Alter([FromForm] OfficeProduct info) { SDES.obtainKey(); ArbolB <OfficeProduct> .IniciarArbol("OfficeProduct", new StringToObject(OfficeProduct.StringToObject), new ObjectToString(OfficeProduct.ObjectToString)); ArbolB <OfficeProduct> .Modificar(info, new string[2] { info.Inventory.ToString(), null }, new Modify(OfficeProduct.Alter)); }
public List <ProductRequest> ProductShow(int id) { BStarTree <ProductRequest> .StartTree("Product", new StringToObject(ProductRequest.StringToObject), new ObjectToString(ProductRequest.ObjectToString)); SDES.GetKey(); return(BStarTree <ProductRequest> .Road(new ProductRequest { ID = id }, 1)); }
public List <BranchProductRequest> BranchProductRequestShow(int idBra, int idPro) { BStarTree <BranchProductRequest> .StartTree("BranchProduct", new StringToObject(BranchProductRequest.StringToObject), new ObjectToString(BranchProductRequest.ObjectToString)); SDES.GetKey(); return(BStarTree <BranchProductRequest> .Road(new BranchProductRequest { IdBranch = idBra, IdProduct = idPro }, 1)); }
public ActionResult Decifrar(string Key, string ToUser) { var User = new Users(); var messages = User.GetMessages(); var StringList = new List <string>(); var ToRList = new List <string>(); foreach (MessagesElements elements in messages) { if ((elements.Transmitter == Request.Cookies["User"]["username"]) && (elements.Reciever == ToUser)) { StringList.Add(elements.text); ToRList.Add("1"); } else { if ((elements.Transmitter == ToUser) && (elements.Reciever == Request.Cookies["User"]["username"])) { StringList.Add(elements.text); ToRList.Add("0"); } } } //Decifrar cada mensaje con la llave que se recibió SDES DecifradoSDES = new SDES(); var P10 = "8537926014"; var P8 = "79358216"; var P4 = "0321"; var EP = "01323210"; var IP = "63572014"; var ReverseIP = DecifradoSDES.GenerarIPInverso(IP); //generar claves var resultanteLS1 = DecifradoSDES.GenerarLS1(Key, P10); var K1 = DecifradoSDES.GenerarK1(resultanteLS1, P8); var K2 = DecifradoSDES.GenerarK2(resultanteLS1, P8); var BinaryList = DecifradoSDES.LecutraArchivoDecifrar(StringList); var MessagesList = new List <MessagesElements>(); var cifrar = false; var counter = 0; foreach (List <string> list in BinaryList) { var Message = new MessagesElements(); var response = string.Empty; foreach (string binary in list) { byte bytefinal = DecifradoSDES.CifrarODecifrar(binary, IP, EP, K1, P4, K2, ReverseIP, cifrar); response += (char)bytefinal; } Message.Transmitter = ToRList[counter] == "1" ? Request.Cookies["User"]["username"] : ToUser; Message.Reciever = ToRList[counter] == "1" ? ToUser : Request.Cookies["User"]["username"]; Message.text = response; MessagesList.Add(Message); counter++; } return(View(MessagesList)); }
public void AddBranchOfficeProduct([FromForm] BranchProductRequest objBraPro) { BStarTree <BranchProductRequest> .StartTree("BranchProduct", new StringToObject(BranchProductRequest.StringToObject), new ObjectToString(BranchProductRequest.ObjectToString)); SDES.GetKey(); BStarTree <BranchProductRequest> .InsertTree(new BranchProductRequest { IdBranch = objBraPro.IdBranch, IdProduct = objBraPro.IdProduct, Inventory = objBraPro.Inventory }); }
public void AddProducts([FromForm] IFormFile objcsv) { BStarTree <ProductRequest> .StartTree("Product", new StringToObject(ProductRequest.StringToObject), new ObjectToString(ProductRequest.ObjectToString)); SDES.GetKey(); ProductRequest.InsertCSV(objcsv.OpenReadStream()); }
public void AddProduct([FromForm] ProductRequest objPro) { BStarTree <ProductRequest> .StartTree("Product", new StringToObject(ProductRequest.StringToObject), new ObjectToString(ProductRequest.ObjectToString)); SDES.GetKey(); BStarTree <ProductRequest> .InsertTree(new ProductRequest { ID = BStarTree <ProductRequest> .CreateId(), Name = objPro.Name, Price = objPro.Price }); }
public void AddBranchOffice([FromForm] BranchOfficeRequest objBra) { BStarTree <BranchOfficeRequest> .StartTree("BranchOffice", new StringToObject(BranchOfficeRequest.StringToObject), new ObjectToString(BranchOfficeRequest.ObjectToString)); SDES.GetKey(); BStarTree <BranchOfficeRequest> .InsertTree(new BranchOfficeRequest { ID = BStarTree <BranchOfficeRequest> .CreateId(), Name = objBra.Name, Address = objBra.Address }); }
public void Alter([FromForm] ProductData info) { SDES.obtainKey(); ArbolB <ProductData> .IniciarArbol("Product", new StringToObject(ProductData.StringToObject), new ObjectToString(ProductData.ObjectToString)); ArbolB <ProductData> .Modificar(info, new string[2] { info.Name, info.Price.ToString() }, new Modify(ProductData.Alter)); }
public List <BranchOfficeRequest> OfficeShow(int id) { BStarTree <BranchOfficeRequest> .StartTree("BranchOffice", new StringToObject(BranchOfficeRequest.StringToObject), new ObjectToString(BranchOfficeRequest.ObjectToString)); SDES.GetKey(); return(BStarTree <BranchOfficeRequest> .Road(new BranchOfficeRequest { ID = id }, 1)); }
private string EncryptPassword(string password) { SDES sdes = new SDES(); sdes.SetKeys(10); byte[] password_encrypted = sdes.EncryptText(ConvertToByte(password)); return(ConvertToString(password_encrypted)); }
public void Alter([FromForm] string Name, [FromForm] int id) { SDES.obtainKey(); ArbolB <ProductData> .IniciarArbol("Product", new StringToObject(ProductData.StringToObject), new ObjectToString(ProductData.ObjectToString)); ArbolB <ProductData> .Modificar(new ProductData { ID = id }, new string[2] { Name, null }, new Modify(ProductData.Alter)); }
public ActionResult CrearUsuario(Usuario user) { bool repetido = false; List <Usuario> users = obtenerPersonas(); foreach (var item in users) { if (user.username == item.username) { repetido = true; break; } } if (!repetido) { try { //Cifrar Contrase;a int cifradoValue = user.password.Length; SDES cipher = new SDES(); string contrasenaCifrado = cipher.CifrarTexto(user.password, cifradoValue); user.password = contrasenaCifrado; using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://localhost:44316/api/users"); var postJob = client.PostAsJsonAsync <Usuario>("users", user); postJob.Wait(); var postResult = postJob.Result; if (postResult.IsSuccessStatusCode) { return(RedirectToAction("Login", "Login")); } else { return(Content("<script language='javascript' type='text/javascript'>alert('Error');</script>")); } } } catch (Exception e) { return(RedirectToAction("Login", "Login")); } } else { return(Content("<script language='javascript' type='text/javascript'>alert('Prueba con otro nombre');</script>")); } }
public List <BranchProductRequest> AllBranchProductRequest() { BStarTree <BranchProductRequest> .StartTree("BranchProduct", new StringToObject(BranchProductRequest.StringToObject), new ObjectToString(BranchProductRequest.ObjectToString)); SDES.GetKey(); return(BStarTree <BranchProductRequest> .Road(null)); }