Esempio n. 1
0
        private void btn_olustur_Click(object sender, EventArgs e)
        {
            bool       hata  = false;
            icerikForm iForm = new icerikForm();

            txtbox_kasaAdi.Text   = txtbox_kasaAdi.Text.Trim();
            txtbox_kasaSifre.Text = txtbox_kasaSifre.Text.Trim();
            // textboxların içi boş ise hata mesajı gönderiyoruz.
            if (txtbox_kasaAdi.Text == string.Empty || txtbox_kasaSifre.Text == string.Empty)
            {
                MessageBox.Show("Lütfen geçerli bir kasa adı veya şifre giriniz.");
            }
            // eğer herhangi bir güvenlik değeri seçilmemişse hata mesajı gönderiyoruz
            else if (rbDusuk.Checked == false && rbYuksek.Checked == false && rbOrta.Checked == false)
            {
                MessageBox.Show("Güvenlik seviyesi boş olamaz");
            }
            else
            {
                string guvenlik = "";
                var    macAdd   =
                    (from nic in NetworkInterface.GetAllNetworkInterfaces()
                     where nic.OperationalStatus == OperationalStatus.Up
                     select nic.GetPhysicalAddress().ToString()
                    ).FirstOrDefault();
                Kripto kr              = new Kripto();
                Klasor dosya           = new Klasor();
                VeriTabaniIslemleri vb = new VeriTabaniIslemleri();
                string sifre           = "";

                // radiobutton lar kontrol edilip checkli olan hangisi ise onu güvenlik değişkenine atıyoruz.
                if (rbDusuk.Checked == true)
                {
                    guvenlik = "dusuk";
                }
                else if (rbOrta.Checked == true)
                {
                    guvenlik = "orta";
                }
                else
                {
                    guvenlik = "yuksek";
                }

                //eğer textboxlrın içi boş değilse kasanın şifresini hashlemek için hashsifreleme fonksiyonunu çagırıyoruz.
                sifre = kr.kasaSifreHashleme(txtbox_kasaSifre.Text);

                // db ye ekleme yapılıyor.
                string yol = @"c\" + txtbox_kasaAdi.Text;

                // verileri veri tabanı işlemleri sınıfından fonk ile ekliyoruz, eğer hata değeri false gelirse yani herhangi hata oluşmamışsa aşağıdaki işlemleri yapıyoruz.
                hata = vb.veriEkleme(txtbox_kasaAdi.Text, sifre, yol, guvenlik, macAdd.ToString());
                if (hata == false)
                {
                    // eğer herhangi bir hata alınmamışsa kasa oluşturulup açılıyor.
                    dosya.Olustur(txtbox_kasaAdi.Text, guvenlik);
                    MessageBox.Show("Kasa oluşturuldu.");
                    kasaOlustu?.Invoke();
                    dosya.Ac(txtbox_kasaAdi.Text);
                    this.Close();
                }
            }
        }
Esempio n. 2
0
        private async void btn_yedekAl_Click(object sender, EventArgs e)
        {
            string        decryptKlasorYol = @"c:\decryptKlasor";
            Kripto        kripto           = new Kripto();
            List <string> kasaAdlari       = new List <string>();
            string        kasaAdi          = "";

            kasaAdlari = vb.diziyeVeriOkuma();

            // girilen string boş mu diye bakılıyor..
            if (txt_yedekKasaAdi.Text == string.Empty)
            {
                MessageBox.Show("Lütfen bir kasa ismi giriniz.");
                return;
            }

            // girilen kasa adi gerçekte var mı diye kontrol ediliyor.
            for (int i = 0; i < kasaAdlari.Count; i++)
            {
                if (kasaAdlari[i] == txt_yedekKasaAdi.Text)
                {
                    kasaAdi = txt_yedekKasaAdi.Text;
                }
            }
            // yok ise hata döndürülüyor
            if (kasaAdi == string.Empty)
            {
                MessageBox.Show("Geçerli kasa adı giriniz.");
                return;
            }

            // eğer önceden bu dosya oluşturulmuşsa silinir.
            if (Directory.Exists(decryptKlasorYol))
            {
                DirectoryInfo dir = new DirectoryInfo(decryptKlasorYol);
                klasor.EmptyFolder(dir);
            }


            // buluttan indirme işlemi
            var   taskIndir = buluttanIndir(kasaAdi);
            await taskIndir;

            /// buluttan indirlen dosyaların şifreleri çözülüyor..
            string path = Directory.GetCurrentDirectory() + "\\yedek\\" + kasaAdi;

            // path klasör mü diye kontrol yapılıyor.
            if ((File.GetAttributes(path) & FileAttributes.Directory) == FileAttributes.Directory)
            {
                // tüm alt dosyaları diziye atıyoruz.
                List <string> allFiles = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).ToList();

                for (int i = 0; i < allFiles.Count; i++)
                {
                    // dosyanın uzantısını bölüp diziye atıyoruz.
                    string[] yol  = allFiles[i].Split('\\');
                    string   yol2 = string.Join("\\", yol);
                    for (int j = 0; j < yol.Length; j++)
                    {
                        if (yol[j] != kasaAdi)
                        {
                            yol[j] = "";
                        }
                        else
                        {
                            break;
                        }
                    }
                    // dosya adını çekiyoruz.
                    string fileName = yol[yol.Length - 1];
                    // en sondaki elemanı yani dosya ismini siliyoruz.
                    yol[yol.Length - 1] = "";

                    // diziyi stringe çeviriyoruz.
                    string x = string.Join("\\", yol);
                    x = x.Substring(x.IndexOf(kasaAdi));

                    x = Path.Combine(decryptKlasorYol + "\\" + x);
                    // uzantı oluşturuyoruz
                    Directory.CreateDirectory(x);

                    // şifreyi çözmek için fonksiyonu çağırıyoruz.
                    kripto.sifreyiCoz(fileName, yol2, x, guvenlik);
                }
                MessageBox.Show("Yedek alınmıştır");
                System.Diagnostics.Process.Start(decryptKlasorYol);
            }
        }