예제 #1
0
        // Изменение админского логина/пароля
        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);
            }
        }
예제 #2
0
        // Сохраняет параметры Подключения к БД
        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);
            }
        }
예제 #3
0
        // Сохраняет параметры Подключения к 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);
            }
        }
예제 #4
0
파일: MainForm.cs 프로젝트: crymchanin/Post
        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);
            }
        }
예제 #5
0
        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);
            }
        }
예제 #6
0
        /// <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();
                    }
                }
            }
        }
예제 #7
0
        /// <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);
        }