/// <summary> /// Импортировать зашифрованные пароли из файла в реестр /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonImportFromFile_Click(object sender, EventArgs e) { if (MessageBox.Show("Вы уверены, что хотите импортировать пароли из файла? Текущие пароли будут потеряны безвозвратно!", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } var currentDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var filePath = Path.Combine(currentDirectory, "PassData.txt"); if (!File.Exists(filePath)) { openFileDialog.InitialDirectory = currentDirectory; if (openFileDialog.ShowDialog() == DialogResult.Cancel) { return; } filePath = openFileDialog.FileName; } var passData = File.ReadAllText(filePath); ZlibClass.SetPassData(passData); MessageBox.Show("Зашифрованные пароли были импортированы в реестр из файла\r\n" + filePath); LoadCredentials(); FillPassList(); }
/// <summary> /// Сохранение изменений в списке паролей /// </summary> private void SaveChanges() { if (GetHash(PassStr) == 991202944) { string strAll = ""; foreach (Credential credential in _credentials) { strAll += credential.Name + "\t" + credential.Login + "\t" + credential.Password + "\n"; } if (strAll != "") { ZlibClass.SaveString(strAll); } } }
/// <summary> /// Экспортировать зашифрованные пароли из реестра в файл /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonExportToFile_Click(object sender, EventArgs e) { var filePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); filePath = Path.Combine(filePath, "PassData.txt"); var passData = ZlibClass.GetPassData(); if (File.Exists(filePath)) { File.Delete(filePath); } File.WriteAllText(filePath, passData); MessageBox.Show("Зашифрованные пароли были экспортированы из реестра в файл\r\n" + filePath); }
private void LoadCredentials() { string strAll = ZlibClass.GetSavedString(); if (strAll == "") { return; } _credentials = new List <Credential>(); string[] rows = strAll.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string row in rows) { _credentials.Add(new Credential(row)); } }