예제 #1
0
        /// <summary>
        /// Grava IP maquina e horario de acesso, criptografando com o IP da maquina
        /// </summary>
        /// <returns></returns>
        private bool GravaDados()
        {
            try
            {
                string      nome = Dns.GetHostName();
                IPAddress[] ip   = Dns.GetHostAddresses(nome);

                b.DesBloquearPasta(caminhoPrivado);
                FileInfo file = new FileInfo(caminhoPrivado + "\\ip.txt");

                if (!file.Exists)
                {
                    file.Create().Close();
                }

                Criptografia cripto = new Criptografia(CryptProvider.RC2);
                cripto.Key = ip[1].ToString();

                string[] linhas = File.ReadAllLines(caminhoPrivado + "\\ip.txt");

                StreamWriter gravarTXT = new StreamWriter(caminhoPrivado + "\\ip.txt");
                bool         gravou    = false;
                if (linhas.Length == 0)
                {
                    gravarTXT.WriteLine(cripto.Encrypt(nome + ";" + ip[1].ToString() + ";" + DateTime.Now));

                    gravou = true;
                }
                foreach (var line in linhas)
                {
                    string lineDescripto = cripto.Decrypt(line);

                    if (lineDescripto.Contains(ip[1].ToString()))
                    {
                        gravarTXT.WriteLine(cripto.Encrypt(nome + ";" + ip[1].ToString() + ";" + DateTime.Now));
                        gravou = true;
                    }
                    else
                    {
                        gravarTXT.WriteLine(line);
                    }
                }

                if (!gravou)
                {
                    gravarTXT.WriteLine(cripto.Encrypt(nome + ";" + ip[1].ToString() + ";" + DateTime.Now));
                }

                gravarTXT.Close();

                b.BloquearPasta(caminhoPrivado);
                return(true);
            }
            catch (Exception)
            {
                b.BloquearPasta(caminhoPrivado);
                return(false);
            }
        }
예제 #2
0
        private void btn_pronto_Click(object sender, EventArgs e)
        {
            alterouSenha = false;
            block bl = new block();

            bl.DesBloquearPasta(caminho);

            string[]     lines  = File.ReadAllLines(caminho + "\\pass.txt");
            Criptografia cripto = new Criptografia(CryptProvider.RC2);

            cripto.Key = txt_senha.Text;

            AlteraSenha();

            try
            {
                if (contSenha <= 1)
                {
                    if (cripto.Encrypt(txt_senha.Text) == lines[0])
                    {
                        if (contSenha == 1)
                        {
                            contSenha = 2;
                            AlteraSenha();
                        }
                        else if (contSenha == 0)
                        {
                            senha       = txt_senha.Text;
                            verificacao = true;
                            bl.BloquearPasta(caminho);
                            this.Close();
                        }
                    }
                    else
                    {
                        bl.BloquearPasta(caminho);
                        verificacao = false;

                        if (!alterouSenha) //Caso tenha alterado senha, não exibe label de erro
                        {
                            label2.Visible = true;
                        }

                        contSenha      = 0;
                        label1.Text    = "Insira sua senha";
                        label4.Visible = true;
                        txt_senha.Text = "";
                    }
                }
            }
            catch (Exception)
            {
                bl.BloquearPasta(caminho);
                verificacao    = false;
                label2.Visible = true;
            }
        }
예제 #3
0
        private void btn_gravar_Click(object sender, EventArgs e)
        {
            if (txt_senha.Text == txt_confsenha.Text)
            {
                MessageBox.Show("Guarde bem essa senha, não será possivel lembra-la caso voce esqueça.");
                string caminho = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory)
                                 .Parent.Parent.FullName + "\\privado";

                if (!File.Exists(caminho + "\\pass.txt"))
                {
                    Directory.CreateDirectory(caminho);
                    FileStream x = File.Create(caminho + "\\pass.txt");
                    x.Close();
                }

                StreamWriter writer = new StreamWriter(caminho + "\\pass.txt");
                Criptografia cripto = new Criptografia(CryptProvider.RC2);
                cripto.Key = txt_senha.Text;

                writer.Write(cripto.Encrypt(txt_senha.Text));
                writer.Close();

                block bl = new block();
                bl.BloquearPasta(caminho);

                this.Hide();
                Form1 frm = new Form1();
                frm.ShowDialog();
            }

            else
            {
                MessageBox.Show("Senhas não conferem");
            }
        }
예제 #4
0
        private void VisualizaSenha(string chave)
        {
            bl.DesBloquearPasta(caminho);
            if (!File.Exists(caminho + "\\arquivos.txt"))
            {
                FileStream a = File.Create(caminho + "\\arquivos.txt");
                a.Close();
            }

            string[] linhas = File.ReadAllLines(caminho + "\\arquivos.txt");
            bl.BloquearPasta(caminho);
            foreach (var line in linhas)
            {
                if (line.Substring(0, 50) == chave.PadRight(50, ' '))
                {
                    Criptografia cripto = new Criptografia(CryptProvider.RC2);
                    cripto.Key = pass;

                    txt_chave.Text     = line.Substring(0, 50).Trim();
                    txt_senha.Text     = cripto.Decrypt(line.Substring(50, 70).Trim());
                    rtb_descricao.Text = line.Substring(120, 220).Trim();
                }
            }
        }