Ejemplo n.º 1
0
        void Log()//giải mã và nạp dữ liệu
        {
            WindowsForm.Loading2.Show(this);
            byte[] pass = AdvancedEncryptionStandard.Hash(password);                                       //chuyển pass sang hashcode
            string str  = AdvancedEncryptionStandard.Decoding(Encoding.Default.GetBytes(node.Name), pass); //giải mã

            if (NetworkNodes.CheckPassword(str))                                                           //kiểm tra nếu đúng thì...
            {
                node.Name = str.Substring(NetworkNodes.checkingCode.Length);                               //loại bỏ đoạn mã dùng để nhận biết nhập đúng pâss trong str
                try
                {
                    //giải mã và nạp các nodes con
                    NetworkNodes.Create(node, AdvancedEncryptionStandard.Decoding(Encoding.Default.GetBytes(((Tag_of_Node)node.Tag).nodes), pass));
                }
                catch (Exception ex)
                {
                    WindowsForm.Loading2.End();
                    WindowsForm.Notification.Show(MessageBoxButtons.OK, "Can not create a TreeNode from the string!", ex, this);
                    returner          = true;
                    panel1.MouseMove -= panel1_MouseMove;
                    Hide();
                    return;
                }
                WindowsForm.Loading2.End();
                ((Tag_of_Node)node.Tag).password = pass;
                ((Tag_of_Node)node.Tag).unlocked = true;
                ((Tag_of_Node)node.Tag).nodes    = null;
                returner          = true;
                panel1.MouseMove -= panel1_MouseMove;
                Hide();
            }
            else
            {
                WindowsForm.Loading2.End();
                WindowsForm.Notification.Show(MessageBoxButtons.OK, "Wrong!", this);
                textBoxPassword.Text = "";
            }
        }