// Изменение админского логина/пароля private void RootCredentialsButton_Click(object sender, EventArgs e) { try { string rootName = RootNameBox.Text; string rootPass = RootPasswordBox.Text; bool flag = false; if (!string.IsNullOrWhiteSpace(rootName)) { AppHelper.Configuration.Admin.RootName = Pbkdf2Cryptography.HashPassword(rootName); flag = true; } if (!string.IsNullOrWhiteSpace(rootPass)) { AppHelper.Configuration.Admin.RootPassword = Pbkdf2Cryptography.HashPassword(rootPass); flag = true; } if (flag) { Save(); } } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// Сохраняет параметры Подключения к БД private void FBButton_Click(object sender, EventArgs e) { try { bool flag = false; bool result = UpdateValue(AppHelper.Configuration.FBConnection.Datasource, FBDatasourceBox.Text, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.Datasource)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.FBConnection.Database, FBDatabaseBox.Text, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.Database)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.FBConnection.Charset, FBCharsetBox.Text, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.Charset)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.FBConnection.ConnectionLifetime, (int)FBConnLifetimeBox.Value, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.ConnectionLifetime)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.FBConnection.Pooling, FBPoolingBox.Checked, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.Pooling)); flag = flag || result; if (!string.IsNullOrWhiteSpace(FBUsernameBox.Text)) { try { string username = Pbkdf2Cryptography.Encrypt(Encoding.Default.GetBytes(FBUsernameBox.Text), AppHelper.GUID); result = UpdateValue(AppHelper.Configuration.FBConnection.Username, username, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.Username)); flag = flag || result; } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (!string.IsNullOrWhiteSpace(FBPasswordBox.Text)) { try { string password = Pbkdf2Cryptography.Encrypt(Encoding.Default.GetBytes(FBPasswordBox.Text), AppHelper.GUID); result = UpdateValue(AppHelper.Configuration.FBConnection.Password, password, AppHelper.Configuration.FBConnection, nameof(AppHelper.Configuration.FBConnection.Password)); flag = flag || result; } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (flag) { Save(); } } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// Сохраняет параметры Подключения к Exchange private void ExchangeButton_Click(object sender, EventArgs e) { try { bool flag = false; bool result = UpdateValue(AppHelper.Configuration.Exchange.ServerName, ExServerNameBox.Text, AppHelper.Configuration.Exchange, nameof(AppHelper.Configuration.Exchange.ServerName)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.Exchange.Domain, ExDomainBox.Text, AppHelper.Configuration.Exchange, nameof(AppHelper.Configuration.Exchange.Domain)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.Exchange.SenderName, ExSenderBox.Text, AppHelper.Configuration.Exchange, nameof(AppHelper.Configuration.Exchange.SenderName)); flag = flag || result; result = UpdateValue(AppHelper.Configuration.Exchange.MessageRegex, ExRegexBox.Text, AppHelper.Configuration.Exchange, nameof(AppHelper.Configuration.Exchange.MessageRegex)); flag = flag || result; if (!string.IsNullOrWhiteSpace(ExUsernameBox.Text)) { try { string username = Pbkdf2Cryptography.Encrypt(Encoding.Default.GetBytes(ExUsernameBox.Text), AppHelper.GUID); result = UpdateValue(AppHelper.Configuration.Exchange.Username, username, AppHelper.Configuration.Exchange, nameof(AppHelper.Configuration.Exchange.Username)); flag = flag || result; } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (!string.IsNullOrWhiteSpace(ExPassBox.Text)) { try { string password = Pbkdf2Cryptography.Encrypt(Encoding.Default.GetBytes(ExPassBox.Text), AppHelper.GUID); result = UpdateValue(AppHelper.Configuration.Exchange.Password, password, AppHelper.Configuration.Exchange, nameof(AppHelper.Configuration.Exchange.Password)); flag = flag || result; } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (flag) { Save(); } } catch (Exception error) { AppHelper.Log.Write("Ошибка изменения конфигурации: " + error.ToString(), Feodosiya.Lib.Logs.MessageType.Error); MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void HashButton_Click(object sender, EventArgs e) { string src = SourceBox.Text; if (string.IsNullOrWhiteSpace(src)) { System.Media.SystemSounds.Beep.Play(); return; } try { ResultBox.Text = Pbkdf2Cryptography.HashPassword(src); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void Check() { try { if (!Pbkdf2Cryptography.ValidatePassword(UsernameBox.Text, AppHelper.Configuration.Admin.RootName) || !Pbkdf2Cryptography.ValidatePassword(PasswordBox.Text, AppHelper.Configuration.Admin.RootPassword)) { ErrorLabel.Visible = true; System.Media.SystemSounds.Beep.Play(); return; } ErrorLabel.Visible = false; DialogResult = DialogResult.OK; Close(); } catch (Exception error) { MessageBox.Show(error.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Добавляет запись с признаком уникальности обработанного файла /// </summary> /// <param name="taskName">Имя задачи</param> /// <param name="filePath">Путь к файлу</param> public static void CreateFileFingerprint(string taskName, string filePath) { string fileName = Path.GetFileName(filePath); FileInfo fileInfo = new FileInfo(filePath); string hash = Pbkdf2Cryptography.GetMD5Hash(File.ReadAllBytes(filePath)); string connStr = "INSERT INTO " + taskName + " (FILENAME, HASH, OPERATIONDATE, MODIFYDATE) " + string.Format("VALUES('{0}','{1}','{2}','{3}');", fileName, hash, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), fileInfo.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss")); using (FbConnection connection = new FbConnection(ConnectionString)) { connection.Open(); using (FbCommand command = new FbCommand(connStr, connection)) { using (FbTransaction transaction = connection.BeginTransaction()) { command.Transaction = transaction; command.ExecuteNonQuery(); transaction.Commit(); } } } }
/// <summary> /// Проверяет наличие дубликата файла /// </summary> /// <param name="taskName">Имя задачи</param> /// <param name="filePath">Путь к файлу</param> /// <returns></returns> public static bool CheckForDuplicate(string taskName, string filePath) { string fileName = Path.GetFileName(filePath); string hash = Pbkdf2Cryptography.GetMD5Hash(File.ReadAllBytes(filePath)); string connStr = @"SELECT 1 FROM " + taskName + @" WHERE FILENAME = '" + fileName + "' " + @"AND HASH = '" + hash + "'"; object result; using (FbConnection connection = new FbConnection(ConnectionString)) { connection.Open(); using (FbCommand command = new FbCommand(connStr, connection)) { using (FbTransaction transaction = connection.BeginTransaction()) { command.Transaction = transaction; result = command.ExecuteScalar(); transaction.Rollback(); } } } return(result != null); }