private async void extractButton_Click(object sender, RoutedEventArgs e) { if (stego == null) { await this.ShowMessageAsync("Error", "Image is not selected. Please choose an image first.", MessageDialogStyle.Affirmative); //MessageBox.Show("Image is not selected. Please choose an image first.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (radioLSB.IsChecked == true) { text = LSB.ExtractText(stego); } else if (radioFibo.IsChecked == true) { text = Fibonacci.ExtractText(stego); } else if (radioEdge.IsChecked == true) { text = Canny.ExtractText(stego); } if (encrypt.IsChecked == true) { if (keyBox.Text != string.Empty) { try { //richTextBox.Text = AES.StringCipher.Decrypt(text, keyBox.Text); //var tmp = Encoding.UTF8.GetBytes(text.Substring(0, text.Length - 1)); //var base64 = Convert.ToBase64String(tmp); richTextBox.Text = AES.StringCipher.Decrypt(text.Substring(0, text.Length - 1), keyBox.Text); } catch (FormatException ferr) { await this.ShowMessageAsync("Error", "Error Occured. " + ferr.Message, MessageDialogStyle.Affirmative); // MessageBox.Show("Error Occured. " + ferr.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } catch (Exception err) { await this.ShowMessageAsync("Error", "Error Occured. Please check key.", MessageDialogStyle.Affirmative); //MessageBox.Show("Error Occured. Please check key." + err.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } } else { await this.ShowMessageAsync("Error", "Provide cryptography key.", MessageDialogStyle.Affirmative); // MessageBox.Show("Provide cryptography key.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } } else { richTextBox.Text = text.Substring(0, text.Length - 1); } // richTextBox.Document.Blocks.Clear(); //richTextBox.Document.Blocks.Add(new Paragraph(new Run(text))); // MessageBox.Show("Successfully Generated. Now you can save."); }