예제 #1
0
        /// <summary>
        /// Get a password, encrypt the message.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Menu_Security_Encrypt(object sender, RoutedEventArgs e)
        {
            PasswordPromptWindow passwordWindow = new PasswordPromptWindow(true);

            passwordWindow.Owner = this;
            passwordWindow.ShowDialog();
            string password = passwordWindow.Password;

            // Fail out
            if (string.IsNullOrEmpty(password))
            {
                this.StatusTextUpdate("No password entered.");
                return;
            }

            this.mainText.Text = Encryption.AESGCM.SimpleEncryptWithPassword(this.mainText.Text, password);
            this.HasBeenEncryptedOrObscured = true;
        }
예제 #2
0
        /// <summary>
        /// Get a password, decrypt the message.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Menu_Security_Decrypt(object sender, RoutedEventArgs e)
        {
            PasswordPromptWindow passwordWindow = new PasswordPromptWindow();

            passwordWindow.Owner = this;
            passwordWindow.ShowDialog();
            string password = passwordWindow.Password;

            // Fail out
            if (string.IsNullOrEmpty(password))
            {
                this.StatusTextUpdate("No password entered.");
                return;
            }

            try
            {
                this.mainText.Text = Encryption.AESGCM.SimpleDecryptWithPassword(this.mainText.Text, password);
            }
            catch (FormatException)
            {
                this.StatusTextUpdate("Could not decrypt text.");
            }
        }