/// <summary> /// Contagem do timer, incrementação da progressbar e exibição da tela inicial. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer1_Tick(object sender, EventArgs e) { // Carregamento em andamento e incrementação da progressbar em andamento. if (progressBar1.Value < 100) { progressBar1.Value += 2; label2.Text = progressBar1.Value + "%"; } // Carregamento completo e exibição da tela inicial. else { timer1.Enabled = false; this.Hide(); // Instanciação da tela inicial Inicio inicio = new Inicio(cumi_acordada); inicio.Show(); if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi2.Pensar(1, 1); } catch { cumi2.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } } }
/// <summary> /// Descriptação do relatório. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_descriptar_relatorio_Click(object sender, EventArgs e) { // Chave-privada não informada. if (chave_privada_relatorio.Text.Equals("")) { if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi3.Pensar(2, 3); } catch { cumi3.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } MessageBox.Show("Informe o valor da chave privada antes de descriptografar a mensagem."); } // Chave-privada informada. else { try { Crypto c = new RSA(); titulo.Text = c.Decriptacao(true, titulo.Text, Convert.ToInt32(chave_privada_relatorio.Text)); data.Text = c.Decriptacao(true, data.Text, Convert.ToInt32(chave_privada_relatorio.Text)); relatorio_descricao.Text = c.Decriptacao(true, relatorio_descricao.Text, Convert.ToInt32(chave_privada_relatorio.Text)); } catch { relatorio_descricao.Text = "X??????X"; //exemplo disso ocorrer: quando um caractere-letra é passado como chave. } finally { flowLayoutPanel1.AutoScroll = false; } } chave_privada_relatorio.Text = ""; }
/// <summary> /// Transformação da imagem em byte array. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_encriptar_imagem_Click(object sender, EventArgs e) { // Se a imagem não for selecionada, uma MessageBox surge if (imagem_em_pixels.Image == null) { if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi6.Pensar(2, 7); } catch { cumi6.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } MessageBox.Show("Selecione uma imagem antes de encriptar."); } // Caso contrário, a imagem é transformada em byte array e exibida em formato de string na richTextBox else { byte[] bytes = imagem.Imagem_Para_Byte_Array(imagem_em_pixels.Image); imagem_em_bytes.Text = BitConverter.ToString(bytes); imagem_em_bytes.Text = imagem_em_bytes.Text.Replace("-", ""); } }
/// <summary> /// Transformação da permissão de false para verdadeira e exibição das imagens transformadas em bytes hexadeimais. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_descriptar_relatorio_Click(object sender, EventArgs e) { // Caso a chave privada não tenha sido informada, o usuário é alertado. if (chave_privada_imagem.Text.Equals("")) { if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi4.Pensar(2, 3); } catch { cumi4.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } MessageBox.Show("Informe a chave-privada antes de descriptar."); } // Se a chave-privada for informada, as informações são exibidas na label e o usuário recebe permissão para visualizar as imagens que o software enviou nas lables. else { permissao = true; flowLayoutPanel1.AutoScroll = true; flowLayoutPanel2.AutoScroll = true; // Chave-privada errada. if (!(chave_privada_imagem.Text.Equals("237"))) { imagem1_encriptada.Text = Acesso.imagem3; imagem2_encriptada.Text = Acesso.imagem3; legenda_imagem1 = ""; legenda_imagem2 = ""; } // Chave-privada correta. else { imagem1_encriptada.Text = Acesso.imagem1; imagem2_encriptada.Text = Acesso.imagem2; legenda_imagem1 = Acesso.legenda_imagem1; legenda_imagem2 = Acesso.legenda_imagem2; } chave_privada_imagem.Text = ""; } }
/// <summary> /// Encriptação da mensagem. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_encriptar_Click(object sender, EventArgs e) { // Caso a chave pública ou a mensagem a encriptar não sejam informadas. if ((chave_publica.Text.Equals("")) || (msg_descriptada_en.Text.Equals(""))) { /* Para todos os casos aqui presentes, uma MessageBox será exibida! */ // Se nenhuma das duas forem informadas if ((chave_publica.Text.Equals("")) && (msg_descriptada_en.Text.Equals(""))) { if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi5.Pensar(2, 0); } catch { cumi5.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } MessageBox.Show("Chave-pública e campo de mensagem não informados.\nPor favor, informe-os antes de encriptar."); } // Caso uma das duas não ser informada. else { // Se a chave-pública não for informada if (chave_publica.Text.Equals("")) { if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi5.Pensar(2, 2); } catch { cumi5.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } MessageBox.Show("Chave-pública não informada."); } // Se a mensagem não informada else { if (cumi_acordada == true) { try { cumi5.Pensar(2, 4); } catch { cumi5.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } MessageBox.Show("Mensagem a encriptar não informada."); } } } // Caso ambas sejam informadas, finalmente a encriptação ocorre. else { // Se a encriptação ocorrer normalmente, a mensagem encriptada é exibida. try { Crypto c = new RSA(); msg_encriptada_en.Text = c.Encriptacao(false, msg_descriptada_en.Text, Convert.ToInt32(chave_publica.Text)); } catch { msg_encriptada_en.Text = "X??????X"; // um exemplo disso aqui ocorrer é quando o usuário passa um caractere-letra como chave. } } }
/// <summary> /// Quando o mouse estiver sobre a label link do relatório, sua descrição é dita pela CUMI caso ela esteja acordada. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RELATORIO_MouseHover(object sender, EventArgs e) { if (cumi_acordada == true) { // Caso eu tenha passado algum parâmetro errado, a CUMI alertará o usuário junto com uma messagebox try { cumi7.Pensar(0, 0); } catch { cumi7.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } }
/* * PARA MAIOR SEGURANÇA, A VERIFICAÇÃO DE LOGIN E SENHA CORRETOS É REALIZADA COM AMBOS ENCRIPTADOS * PORTANTO, PARA SABER QUAL O LOGIN E SENHA REAIS, VERIFIQUE A PASTA "ARQUIVOS txt" */ /// <summary> /// Verifico se o login e a senha foram preenchidos corretamente. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Entrar_btn_Click_1(object sender, EventArgs e) { // Caso algum campo esteja vazio, uma message box é exibida if (Login_txt.Text.Equals("") || Senha_txt.Text.Equals("") || Cumi_status.Text.Equals("")) { // Se ambos estiverem vazios if (Login_txt.Text.Equals("") && Senha_txt.Text.Equals("") && Cumi_status.Text.Equals("")) { MessageBox.Show("Os campos estão vazios, por favor, preencha-os antes de entrar."); } // Se nem todos estiverem vazios else if (Login_txt.Text.Equals("") || Senha_txt.Text.Equals("") || Cumi_status.Text.Equals("")) { MessageBox.Show("Algum(ns) dos campos está(ão) vazio(s), por favor, preencha-o(s) antes de entrar."); } } // Caso o login e a senha não sejam nulos else { // Variáveis locais string login = Login_txt.Text; string senha = Senha_txt.Text; string login_encriptado; string senha_encriptada; string status; // Instanciação da classe XOR Crypto c = new RSA(); // Encriptação da senha e do login login_encriptado = c.Encriptacao(false, Login_txt.Text, 13); senha_encriptada = c.Encriptacao(false, Senha_txt.Text, 13); status = Cumi_status.Text; // Check se o login e a senha estão corretos // Se login ou senha não estiverem corretos, uma MessageBox é exibida if (!(login_encriptado.Equals(Acesso.login)) || !(senha_encriptada.Equals(Acesso.senha)) || !(status == "ON" ^ status == "OFF")) { // Caso o login estiver inválido if (!(login_encriptado.Equals(Acesso.login))) { MessageBox.Show("Login inválido."); Login_txt.Text = ""; Senha_txt.Text = ""; Cumi_status.Text = ""; } // Caso o login estiver correto, mas a senha, incorreta else if (!(senha_encriptada.Equals(Acesso.senha))) { MessageBox.Show("Senha inválida."); Senha_txt.Text = ""; } // Caso o login e a senha estiverem corretos, mas o status da Cumi não else if (!(status == "ON" ^ status == "OFF")) { MessageBox.Show("O status da CUMI não foi informado corretamente. Verifique se você enviou \"ON\" ou \"OFF\", ou se está com o capslock desativado. "); Cumi_status.Text = ""; } } // Se o login e a senha estiverem corretos, a tela inicial é carregada if ((login_encriptado.Equals(Acesso.login)) && (senha_encriptada.Equals(Acesso.senha)) && (status == "ON" ^ status == "OFF")) { Login_txt.Text = ""; Senha_txt.Text = ""; this.Hide(); // Instanciação da tela de carregamento if (status == "OFF") { cumi_acordada = false; } else { cumi_acordada = true; // Caso eu tenha passada algum parâmetro errado, a CUMI alertará o usuário junto com uma MessageBox try { cumi1.Pensar(1, 0); } catch { cumi1.Pensar(2, 11); MessageBox.Show("Um erro encontrado, avise ao programador!"); } } Carregando carregar = new Carregando(cumi_acordada); carregar.Show(); } } }