/// <summary> /// Evento do botão que ativa todo processo para decifrar a mensagem. /// </summary> private void btEntrar_Click(object sender, EventArgs e) { try { if (String.IsNullOrEmpty(TxbCredencial.Text) && String.IsNullOrEmpty(TxbData.Text)) { throw new Exception("Não é possível decifrar se os dois campos não foram preenchidos"); } else { UtilidadePublica CifrasLog = new UtilidadePublica(TxbData.Text, TxbCredencial.Text.ToLower()); Decifrar decifrar = new Decifrar(TxbCredencial.Text.ToLower(), TxbData.Text); string CaminhoPath = CifrasLog.DialogBoxEncontraPasta(); this.Close(); decifrar.AFBtranscricao = CifrasLog.GerarVetorDoAlfabeto(CifrasLog.LeituraArquivosPMemoria(CaminhoPath, UtilidadePublica.Arquivo.Alfabeto)); decifrar.PrimeiroPasso(CifrasLog.LeituraArquivosPMemoria(CaminhoPath, UtilidadePublica.Arquivo.Texto)); decifrar.PassaFinal(decifrar.TerceiroPasso(decifrar.SegundoPasso())); } } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Erro Inesperado na Decifragem", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } }
//AÇÕES DE BOTÕES /// <summary> /// Evento de clique no Botão de entrada. /// </summary> ///<remarks> ///Altera a composição de objetos visíveis do form. ///Gera uma alfabeto aleatório. ///Trata exceções para casos em que os TxtBoxes são vazios. ///</remarks> private void BtEntrar_Click(object sender, EventArgs e) { try { if ((TxbCredencial.Text.Length) < 4) { throw new Exception("Desculpe, mas a credencial não pode ser menor que 4 valores."); } if (!((String.IsNullOrEmpty(TxbCredencial.Text) && String.IsNullOrEmpty(TxbData.Text)))) { UtilidadePublica Util = new UtilidadePublica(TxbData.Text, TxbCredencial.Text); EstadoEnviar(); Util.GerarAlfabetoAleatorio(); Util.GerarVetorDoAlfabeto(); Util.SalvarTxtStream(Util.DialogSalvarEm(UtilidadePublica.TipoDeSalvar.TxtAlfabeto), 64, true); EncriptaTexto = new Encripitacao(TxbCredencial.Text.ToLower(), Util.AlfabetoMatriz); } else { throw new Exception("Os campos acima não podem estar vazios, ou estão com valores invalidos"); } } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Erro na validação de entrada", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Torna os valores tranpostos e covertidos para o alfabetoTradicional /// </summary> /// <param name="CodigoFinal"></param> public void PassaFinal(int[,] CodigoFinal) { //GRAÇAS A DEUS string MensagemFinal = null; for (int i = 0; i < (CodigoFinal.Length / 2); i++) { MensagemFinal = MensagemFinal + AFBtranscricao[(CodigoFinal[0, i]), (CodigoFinal[1, i])]; } DesconvertidaMesg = MensagemFinal; UtilidadePublica Util = new UtilidadePublica(); Util.SalvarTxtStream(Util.DialogSalvarEm(UtilidadePublica.TipoDeSalvar.TxtDesencript), true, DesconvertidaMesg); GC.Collect(); }
/// <summary> /// Evento do clique no botão Enviar /// </summary> /// <remarks> /// Apenas visível após a ação do botão ENTRAR /// Trabalha diretamente sobre o texto para gerar o valor encriptado /// </remarks> private void btEnviar_Click(object sender, EventArgs e) { try { if (String.IsNullOrEmpty(TxbMensagem.Text)) { throw new Exception("Não é possível gerar um texto Ecrypta partindo de um texto nulo ou inválido"); } else { UtilidadePublica Util = new UtilidadePublica(TxbData.Text, TxbCredencial.Text.ToLower()); EncriptaTexto.PrimeiroPasso(Util.RemoverEspacos(EncriptaTexto.VerificarOTamanho(TxbMensagem.Text.ToLower()))); EncriptaTexto.SegundoPasso(); EncriptaTexto.TerceiroPasso(); Util.SalvarTxtStream(Util.DialogSalvarEm(UtilidadePublica.TipoDeSalvar.TxtEncriptado), 1, true, EncriptaTexto.MensagemCriptografada()); } } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Um erro ocorreu", MessageBoxButtons.OK, MessageBoxIcon.Error); } }