private void btnCifrar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ManipulacaoArquivo manipulacaoarquivo = new ManipulacaoArquivo(rsaBits);

                if (textoOriginal.Text.Length == 0 ||
                    this.textoOriginal.Text.Length > this.tamanhoTexto)
                {
                    throw new ArgumentException("Digite uma mensagem de até " + tamanhoTexto.ToString() + " caracteres!");
                }

                if (!Directory.Exists(edtCaminhoRepositorio.Text))
                {
                    throw new ArgumentException("Não foi encontrado o caminho do repositório de chaves públicas: " +
                                                edtCaminhoRepositorio.Text);
                }

                string arquivoChavePublica = "";

                manipulacaoarquivo.getNomeArquivoChavePublica(edtCaminhoRepositorio.Text, ref arquivoChavePublica);

                if (arquivoChavePublica != "")
                {
                    Cursor = System.Windows.Input.Cursors.Wait;

                    btnCifrar.Content   = "Aguarde...";
                    btnCifrar.IsEnabled = false;

                    System.Windows.Forms.Application.DoEvents(); // Libera Mensagens do processamento do Windows

                    string xmlChavePublica = manipulacaoarquivo.carregarConteudo(arquivoChavePublica);

                    if (xmlChavePublica != "")
                    {
                        string bitsString = xmlChavePublica.Substring(0, xmlChavePublica.IndexOf("</RSABits>") + 10);
                        xmlChavePublica = xmlChavePublica.Replace(bitsString, ""); // Limpando parte da sring
                        int bits = Convert.ToInt32(bitsString.Replace("<RSABits>", "").Replace("</RSABits>", ""));

                        UtilizacaoRSA rsa = new UtilizacaoRSA(bits);
                        rsa.mensagem = textoOriginal.Text;
                        rsa.xmlChave = xmlChavePublica;

                        textoCifrado.Text  = rsa.Cifrar();
                        textoOriginal.Text = "";
                    }
                }
            }
            catch (Exception E)
            {
                System.Windows.MessageBox.Show(E.Message, "Erro");
            }
            finally
            {
                Cursor              = System.Windows.Input.Cursors.Arrow;
                btnCifrar.Content   = "Cifrar >>";
                btnCifrar.IsEnabled = true;
            }
        }
        private void btnTextoCarregar_Click(object sender, RoutedEventArgs e)
        {
            if (!Directory.Exists(edtCaminhoTrocaMensagem.Text))
            {
                System.Windows.MessageBox.Show("Diretório de troca de mensagens não encontrado!",
                                               "Erro");
            }
            else
            {
                string arquivo = "";

                ManipulacaoArquivo manipulacaoarquivo = new ManipulacaoArquivo(rsaBits);

                manipulacaoarquivo.getNomeArquivoMensagemCriptografadaExistente(ref arquivo, edtCaminhoTrocaMensagem.Text);

                if (arquivo != "")
                {
                    textoCifrado.Text  = manipulacaoarquivo.carregarConteudo(arquivo);
                    textoOriginal.Text = "";
                }
            }
        }
        private void btnDecifrar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (!Directory.Exists(edtCaminhoRepositorio.Text))
                {
                    throw new Exception("Diretório do caminho do repositório não foi encontrado!");
                }

                ManipulacaoArquivo manipulacaoarquivo = new ManipulacaoArquivo(rsaBits);

                if (textoCifrado.Text.Length == 0)
                {
                    System.Windows.MessageBox.Show("Cole ou carrege algum texto cifrado!", "Erro");
                }
                else
                {
                    string arquivo = "";

                    manipulacaoarquivo.getNomeArquivoChavePrivadaExistente(ref arquivo);

                    if (arquivo != "")
                    {
                        Cursor = System.Windows.Input.Cursors.Wait;

                        btnDecifrar.Content   = "Aguarde...";
                        btnDecifrar.IsEnabled = false;

                        System.Windows.Forms.Application.DoEvents(); // Libera Mensagens do processamento do Windows

                        string xmlChavePrivada = manipulacaoarquivo.carregarConteudo(arquivo);

                        if (xmlChavePrivada != "")
                        {
                            string bitsString = xmlChavePrivada.Substring(0, xmlChavePrivada.IndexOf("</RSABits>") + 10);
                            xmlChavePrivada = xmlChavePrivada.Replace(bitsString, ""); // Limpando parte da sring

                            int bits = Convert.ToInt32(bitsString.Replace("<RSABits>", "").Replace("</RSABits>", ""));

                            UtilizacaoRSA rsa = new UtilizacaoRSA(bits);
                            rsa.mensagem = textoCifrado.Text;
                            rsa.xmlChave = xmlChavePrivada;

                            textoOriginal.Text = rsa.Decifrar();
                            textoCifrado.Text  = "";
                        }
                    }
                }
            }
            catch (Exception E)
            {
                this.textoOriginal.Text = "";
                System.Windows.MessageBox.Show(E.Message, "Erro");
            }
            finally
            {
                Cursor = System.Windows.Input.Cursors.Arrow;
                btnDecifrar.Content   = "<< Decifrar";
                btnDecifrar.IsEnabled = true;
            }
        }