コード例 #1
0
        /// <summary>
        /// Заменяет пароль новым во всех ветках
        /// </summary>
        public static void ChangeCryptPassword()
        {
            SaftRDPClient.Askdialog new_pass = new SaftRDPClient.Askdialog();


            new_pass.Text = "Введите текущий пароль";
            string pass = new_pass.ShowDialogString();

            if (pass == Common_functions.Settings.enterp)
            {
                new_pass.Text = "Введите новый пароль";
                string pass1 = new_pass.ShowDialogString();
                new_pass.Text = "Подтвердите пароль";
                string pass2 = new_pass.ShowDialogString();

                if (pass1 == pass2)
                {
                    ///Замена пароля по дефолту
                    ///Работает неправильно!!! Шифруя старым паролем новый!!!
                    string encryptedpass = EncryptString(pass1, Common_functions.Settings.enterp);

                    string passvalue = "Software\\SafT\\RDPClient";
                    ChangeSingleCryptPassword(passvalue, pass1);
                    Settings.enterp = pass1;


                    passvalue = "Software\\SafT\\RDPClient\\Pairs";
                    RegistryKey listkey = Registry.CurrentUser.OpenSubKey(passvalue);
                    if (listkey != null)
                    {
                        string[] pairlist = listkey.GetValueNames();
                        for (int i = 0; i < pairlist.Length; i++)
                        {
                            ChangeSingleCryptPassword(passvalue + "\\" + pairlist[i], pass1);
                        }
                    }
                }

                else
                {
                    MessageBox.Show("Введенные пароли не совпадают!");
                }
            }
            else
            {
                MessageBox.Show("Введен некорректный пароль");
            }
        }
コード例 #2
0
ファイル: frm_main.cs プロジェクト: timsafari/Saft-RDP-Client
        private void парыЛогинпарольToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string testpass = null;

            SaftRDPClient.Askdialog test = new SaftRDPClient.Askdialog();
            testpass = test.ShowDialogString();
            if (testpass == Common_functions.Settings.enterp)
            {
                SaftRDPClient.Pairs pass_pairs = new SaftRDPClient.Pairs();
                pass_pairs.Show();
            }
            else
            {
                MessageBox.Show("Пароль не подходит!");
            }
        }
コード例 #3
0
        /// <summary>
        /// Функция для смены пароля по заданному пути, шифруется текущим паролем
        /// </summary>
        /// <param name="path">Путь к паролю в реестре, указывает на пару "логин-пароль"</param>
        public static void ChangePassword(string path)
        {
            RegistryKey pass = null;

            pass = Registry.CurrentUser.OpenSubKey(path);
            pass.DeleteValue("Password");
            SaftRDPClient.Askdialog new_pass = new SaftRDPClient.Askdialog();
            string newpass = new_pass.ShowDialogString();

            if (newpass == Common_functions.Settings.enterp)
            {
                new_pass.Text = "Введите новый пароль";
                string pass1 = new_pass.ShowDialogString();
                new_pass.Text = "Подтвердите пароль";
                string pass2 = new_pass.ShowDialogString();
                if (pass1 == pass2)
                {
                    pass.SetValue("Password", EncryptString(pass1, Common_functions.Settings.enterp));
                }
            }

            pass.Close();
        }
コード例 #4
0
        /// <summary>
        /// Функция запрашивает у пользователя пароль для расшифровки. Данный пароль используется для расшифровки
        /// паролей к серверам RDP. Поскольку этот пароль используется для шифрования всех паролей RDP, проверяется
        /// корректность введенного пароля. Тестируется расшифровка пароля пользователя по умолчанию
        /// </summary>
        public static void AskPassword()
        {
            SaftRDPClient.Askdialog passdialog = new SaftRDPClient.Askdialog();
            enterp = passdialog.ShowDialogString();
            string       def_pass = MyCryptoStat.DecryptString(user_password, enterp);
            DialogResult dr       = DialogResult.No;

            if (def_pass == "Trouble!!!")
            {
                while (def_pass == "Trouble!!!")
                {
                    dr = MessageBox.Show("Введен неправильный пароль. \n Хотите ввести пароль снова?", "Введен неправильный пароль.", MessageBoxButtons.YesNo);
                    if (dr != DialogResult.Yes)
                    {
                        Environment.Exit(-1);
                    }
                    else
                    {
                        enterp   = passdialog.ShowDialogString();
                        def_pass = MyCryptoStat.DecryptString(user_password, enterp);
                    }
                }
            }
        }