public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (Session["result_password"] == null) { PasswordStorage passwordStorage = db.GetPasswordStorage.Find(id); passwordStorage.Password = AdvancedEncryptionStandard.DecryptText(passwordStorage.Password); if (passwordStorage == null) { return(HttpNotFound()); } return(View(passwordStorage)); } else { PasswordStorage passwordStorage = db.GetPasswordStorage.Find(id); passwordStorage.Password = Session["result_password"].ToString(); if (passwordStorage == null) { return(HttpNotFound()); } return(View(passwordStorage)); } }
//tương tự như Recursive_ToString_1 thay vì nối từng đoạn string về một node khi kết thúc hàm vào biến nodesString, thì Recursive_ToString_2 return đoạn string của node đó mỗi khi kết thúc hàm //so về tốc độ thì Recursive_ToString_2 chậm hơn Recursive_ToString_1 nhưng linh hoạt hơn nên nó được để public public static string Recursive_ToString_2(TreeNode node) { string returnString = ""; n++; WindowsForm.Loading.Update(n + " - " + node.Text, 1); // "name \bcontent \ccolor \ddate \iis_lockNode \nnodes \e" //lưu ý: đối với các thành phần có thể chứa ký tự "\" thì phải replace \ sang \\. Ví dụ như: name, content,... //mã hoá nội dung với node đang ở trạng thái mở string content = node.Name; if (((Tag_of_Node)node.Tag).is_lockNode && ((Tag_of_Node)node.Tag).unlocked) { content = Encoding.Default.GetString(AdvancedEncryptionStandard.Encoding(checkingCode + node.Name, ((Tag_of_Node)node.Tag).password)); } //nối chuỗi các thuộc tính của node returnString += node.Text.Replace(@"\", @"\\") + @" \b" + content.Replace(@"\", @"\\") + @" \c" + node.ForeColor.ToArgb() + @" \d" + ((Tag_of_Node)node.Tag).date + @" \i" + ((Tag_of_Node)node.Tag).is_lockNode.ToString() + @" \n"; //nếu không phải là một node bình thường if (((Tag_of_Node)node.Tag).is_lockNode) { //nếu node này đang khoá if (!((Tag_of_Node)node.Tag).unlocked) { return(returnString + ((Tag_of_Node)node.Tag).nodes.Replace(@"\", @"\\") + @" \e"); } //nếu node này đang mở else { string lockNodesString = ""; if (node.Nodes != null && node.Nodes.Count > 0) { foreach (TreeNode a_node in node.Nodes) { lockNodesString += Recursive_ToString_2(a_node); } } byte[] bytes = ((Tag_of_Node)node.Tag).password; return(returnString + Encoding.Default.GetString(AdvancedEncryptionStandard.Encoding(lockNodesString, bytes)).Replace(@"\", @"\\") + @" \e"); } } //nếu là một node bình thường else { if (node.Nodes != null && node.Nodes.Count > 0) { foreach (TreeNode a_node in node.Nodes) { returnString += Recursive_ToString_2(a_node); } } return(returnString + @" \e"); } }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PasswordStorage passwordStorage = db.GetPasswordStorage.Find(id); passwordStorage.Password = AdvancedEncryptionStandard.DecryptText(passwordStorage.Password); if (passwordStorage == null) { return(HttpNotFound()); } return(View(passwordStorage)); }
public ActionResult Edit([Bind(Include = "Id,Website,Password,DateSaved")] PasswordStorage passwordStorage) { if (ModelState.IsValid) { // Here we get current logged in users id string current_logged_in_user_id = User.Identity.GetUserId(); passwordStorage.Password = AdvancedEncryptionStandard.EncryptText(passwordStorage.Password); passwordStorage.DateSaved = DateTime.Now; passwordStorage.UserId = current_logged_in_user_id; // here pass current loggedin user id for update the value db.Entry(passwordStorage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(passwordStorage)); }
//khoá node đang mở public static void SaveAndLockAUnlockedNode(TreeNode node) { //mã hoá nội dung node.Name = Encoding.Default.GetString(AdvancedEncryptionStandard.Encoding(checkingCode + node.Name, ((Tag_of_Node)node.Tag).password)); //đưa các nodes con về chuỗi để mã hoá string nodesString = ""; foreach (TreeNode a_node in node.Nodes) { nodesString += Recursive_ToString_2(a_node); } node.Nodes.Clear(); //mã hoá các nodes con ((Tag_of_Node)node.Tag).nodes = Encoding.Default.GetString(AdvancedEncryptionStandard.Encoding(nodesString, ((Tag_of_Node)node.Tag).password)); ((Tag_of_Node)node.Tag).password = null; ((Tag_of_Node)node.Tag).unlocked = false; }
public ActionResult Index(int?id) { string current_logged_in_user_id = User.Identity.GetUserId(); Session["result_password"] = null; Session["Id"] = null; var result = (from s in db.GetPasswordStorage where s.UserId == current_logged_in_user_id select new { id = s.Id, Password = s.Password, }).AsEnumerable().Select(a => new PasswordStorage { Id = a.id, Password = AdvancedEncryptionStandard.DecryptText(a.Password), }).FirstOrDefault(); if (id > 0) { var result_password = (from s in db.GetPasswordStorage where s.Id == id select new { id = s.Id, Password = s.Password, }).AsEnumerable().Select(a => new PasswordStorage { Id = a.id, Password = AdvancedEncryptionStandard.DecryptText(a.Password), }).FirstOrDefault(); Session["Id"] = result_password.Id.ToString(); Session["result_password"] = result_password.Password.ToString(); } Session["Password"] = result.Password.ToString(); return(View()); }
public ActionResult Index() { // Here we get current logged in users id string current_logged_in_user_id = User.Identity.GetUserId(); // this linq query show all the storage password information for the logged in user only var result = (from s in db.GetPasswordStorage where s.UserId == current_logged_in_user_id select new { id = s.Id, Website = s.Website, Password = s.Password, DateSaved = s.DateSaved }).AsEnumerable().Select(a => new PasswordStorage { Id = a.id, Website = a.Website, Password = AdvancedEncryptionStandard.DecryptText(a.Password), DateSaved = a.DateSaved }).ToList(); return(View(result)); }
public string Decrypt(string encriptedData) { return(AdvancedEncryptionStandard.Decrypt(encriptedData, _keyProvider.Key1, _keyProvider.Key2, AdvancedEncryptionStandard.AesCryptographyLevel.Aes256)); }
public string Encrypt(string data) { return(AdvancedEncryptionStandard.Encrypt(data, _keyProvider.Key1, _keyProvider.Key2, AdvancedEncryptionStandard.AesCryptographyLevel.Aes256)); }