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; } }
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."); } }