private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (!locked)
            {
                Settings.Default.Encrypted     = false;
                Settings.Default.SqlServerAddr = txtDbServerAddr.Text;
                Settings.Default.SqlDatabase   = txtDatabase.Text;
                Settings.Default.SqlUsername   = txtDbUsername.Text;
                if (!string.IsNullOrWhiteSpace(txtDbPassword.Password))
                {
                    Settings.Default.SqlPassword = txtDbPassword.Password;
                }
                else
                {
                    Settings.Default.SqlPassword = SecurityCrypt.AES_Decrypt(Settings.Default.SqlPassword);
                }

                Settings.Default.Save();

                MainWindow.Instance.LoadCourses();

                Close();
            }
            else
            {
                MessageBox.Show("Settings are locked and can not be saved.");
            }
        }
 //Encrypts before being written to a file
 private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (!Settings.Default.Encrypted)
     {
         Settings.Default.SqlDatabase   = SecurityCrypt.AES_Encrypt(Settings.Default.SqlDatabase);
         Settings.Default.SqlServerAddr = SecurityCrypt.AES_Encrypt(Settings.Default.SqlServerAddr);
         Settings.Default.SqlUsername   = SecurityCrypt.AES_Encrypt(Settings.Default.SqlUsername);
         Settings.Default.SqlPassword   = SecurityCrypt.AES_Encrypt(Settings.Default.SqlPassword);
         Settings.Default.Encrypted     = true;
     }
 }
Beispiel #3
0
        public static MySqlConnection Connect()
        {
            MySqlConnection connection = null;

            string serverAddr = SecurityCrypt.AES_Decrypt(Settings.Default.SqlServerAddr);
            string database   = SecurityCrypt.AES_Decrypt(Settings.Default.SqlDatabase);
            string username   = SecurityCrypt.AES_Decrypt(Settings.Default.SqlUsername);
            string password   = SecurityCrypt.AES_Decrypt(Settings.Default.SqlPassword);

            /*
             * Requires "Convert Zero Datetime=True" to properly convert Date and Time sql types to .net Datetime
             * http://stackoverflow.com/questions/5754822/unable-to-convert-mysql-date-time-value-to-system-datetime
             */
            string cs = string.Format("server={0};userid={1};password={2};database={3};Convert Zero Datetime=True",
                                      serverAddr, username, password, database);

            connection = new MySqlConnection(cs);

            return(connection);
        }
        private void btnUnlock_Click(object sender, RoutedEventArgs e)
        {
            if (txtPin.Password.Equals(Settings.Default.SecurityPin))
            {
                locked = false;
                txtDatabase.IsEnabled     = true;
                txtDbPassword.IsEnabled   = true;
                txtDbUsername.IsEnabled   = true;
                txtDbServerAddr.IsEnabled = true;

                txtDbServerAddr.Text = SecurityCrypt.AES_Decrypt(Settings.Default.SqlServerAddr);
                txtDatabase.Text     = SecurityCrypt.AES_Decrypt(Settings.Default.SqlDatabase);
                txtDbUsername.Text   = SecurityCrypt.AES_Decrypt(Settings.Default.SqlUsername);

                txtPin.IsEnabled    = false;
                btnUnlock.IsEnabled = false;
            }
            else
            {
                MessageBox.Show("The security pin you entered doesn't match.");
            }
        }