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));
     }
 }
Esempio n. 2
0
        //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));
        }
Esempio n. 5
0
        //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;
        }
Esempio n. 6
0
        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));
        }
Esempio n. 8
0
 public string Decrypt(string encriptedData)
 {
     return(AdvancedEncryptionStandard.Decrypt(encriptedData, _keyProvider.Key1, _keyProvider.Key2, AdvancedEncryptionStandard.AesCryptographyLevel.Aes256));
 }
Esempio n. 9
0
 public string Encrypt(string data)
 {
     return(AdvancedEncryptionStandard.Encrypt(data, _keyProvider.Key1, _keyProvider.Key2, AdvancedEncryptionStandard.AesCryptographyLevel.Aes256));
 }