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(); } } }
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); } }