public string DecryptPassword(string encryptedPsw) { //DecryptData throws if the wrong password is used. var wrapper = new Encrypter(EncryptKey); try { var plainPsw = wrapper.DecryptData(encryptedPsw); return(plainPsw); } catch (Exception ex) { throw new Exception($"Error during the decryption: {ex.Message}"); } }
private void SaveSettingsButton_Click(object sender, EventArgs e) { if (!validateUsername(SettingsUsernameInput.Text)) { SettingsFeedback.Text = "Invalid username, please change the name before saving!"; return; } if (File.Exists(@"" + filePath + SettingsUsernameInput.Text.ToLower() + ".txt") && SettingsUsernameInput.Text.ToLower() != username) { SettingsFeedback.Text = "This username is already in use!"; return; } if ((SettingsNewPasswordInput.Text != "" && SettingsNewPasswordInput.ForeColor == Color.White) || (SettingsConfirmPasswordInput.Text != "" && SettingsConfirmPasswordInput.ForeColor == Color.White)) { // Change username and password if (Encrypter.SHA256(SettingsCurrentPasswordInput.Text) != password) { SettingsFeedback.Text = "Access denied!"; return; } if (!validatePassword(SettingsNewPasswordInput.Text, SettingsConfirmPasswordInput.Text)) { SettingsFeedback.Text = "Invalid password, please make sure password and confirm password match and they are both atleast 8 characters long and contains both capital and lower letter!"; return; } if (SettingsUsernameInput.Text.ToLower() != username) { if (File.Exists(@"" + filePath + username + ".txt")) { deleteFile(username); } username = SettingsUsernameInput.Text.ToLower(); } if (accountData.Any()) { List <KeyValuePair <string, string[]> > tempData = Encrypter.DecryptData(accountData, encryptionKey); encryptionKey = SettingsNewPasswordInput.Text; password = Encrypter.SHA256(SettingsNewPasswordInput.Text); accountData = Encrypter.EncryptData(tempData, encryptionKey); } else { encryptionKey = SettingsNewPasswordInput.Text; password = Encrypter.SHA256(SettingsNewPasswordInput.Text); } SaveData(); } else { // Change only username if (SettingsUsernameInput.Text.ToLower() != username) { if (File.Exists(@"" + filePath + username + ".txt")) { deleteFile(username); } username = SettingsUsernameInput.Text.ToLower(); SaveData(); } } SettingsPanel.Visible = false; AddAccountButton.Enabled = true; SettingsButton.Enabled = true; LogoutButton.Enabled = true; AccountsPanel.Visible = true; }