/// <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("Введен некорректный пароль"); } }
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("Пароль не подходит!"); } }
/// <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(); }
/// <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); } } } }