예제 #1
0
        /// <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();
        }
예제 #2
0
        /// <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);
                }
            }
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        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));
            }
        }