void ServeriDinle() { while (true) { string serverdanGelenMesaj = serverReader.ReadLine(); // Okunan deger if (cbChoose.SelectedIndex == 1) { if (!isSecretKey) { isSecretKey = true; label3.Text = Crypto1.DecryptSecretKey(serverdanGelenMesaj); simetricKey = label3.Text; lstMesajlarClient.Items.Add("SecretKey başarılı şekilde alındı."); LogWriter("SecretKey başarılı şekilde alındı."); } else { Crypto1 crypto1 = new Crypto1(); MessageBox.Show("Desifrelenecek verinin çozulecegi yolu seciniz."); UnicodeEncoding ue = new UnicodeEncoding(); Byte[] buffer = Convert.FromBase64String(serverdanGelenMesaj); byte[] plainText = crypto1.DecryptToByteArray(buffer, simetricKey); //File.WriteAllBytes(@"C:\Users\Hknaksoyy\Desktop\cipherText.jpg", plainText); //linkFilePath_LinkClicked(true); File.WriteAllBytes(dataPath, plainText); lstMesajlarClient.Items.Add("Desifreleme islemi tamamlandi"); LogWriter("Desifreleme islemi tamamlandi"); } } else if (cbChoose.SelectedIndex == 2) { if (!isSecretKey) { isSecretKey = true; label3.Text = Crypto2.DecryptSecretKey(serverdanGelenMesaj); simetricKey = label3.Text; LogWriter("Serverdan Gelen Mesaj: " + serverdanGelenMesaj); LogWriter("Cozumlenmis Simetrik Sifre: " + simetricKey); lstMesajlarClient.Items.Add("SecretKey başarılı şekilde alındı."); LogWriter("SecretKey başarılı şekilde alındı."); } else { Crypto2 crypto2 = new Crypto2(); string decryptoHash = serverdanGelenMesaj.Substring((serverdanGelenMesaj.Length - 64), 64); string data = serverdanGelenMesaj.Substring(0, (serverdanGelenMesaj.Length - 64)); if (decryptoHash == ComputeSha256Hash(data)) { lstMesajlarClient.Items.Add("Server: " + crypto2.DecryptKey(data, simetricKey)); label3.Text = serverdanGelenMesaj; LogWriter(serverdanGelenMesaj); } } } else if (cbChoose.SelectedIndex == 3) { Crypto3 crypto3 = new Crypto3(); lstMesajlarClient.Items.Add("Server: " + crypto3.Decrypto(serverdanGelenMesaj)); label3.Text = serverdanGelenMesaj; LogWriter(serverdanGelenMesaj); } else { lstMesajlarClient.Items.Add("Server: " + serverdanGelenMesaj); LogWriter("Server: " + serverdanGelenMesaj); } } }
void Dinle() { // Bağlanan kullanıcı sckKullanici isimli Socket nesnesine alındı. sckKullanici = dinleyici.AcceptSocket(); LogWriter("Kullanıcı geldi"); // NetworkStream, ağ üzerine yazmak için kullanılır. ns = new NetworkStream(sckKullanici); // Kullanıcıya mesaj göndermek ve almak için StreamWriter içe NetworkStream üzerine yazacağız. clientWriter = new StreamWriter(ns, Encoding.ASCII); clientReader = new StreamReader(ns, Encoding.ASCII); while (true) { string clienttanGelenMesaj = clientReader.ReadLine(); if (comboBox1.SelectedIndex == 1) { Crypto1 crypto1 = new Crypto1(); UnicodeEncoding ue = new UnicodeEncoding(); Byte[] buffer = Convert.FromBase64String(clienttanGelenMesaj); byte[] plainText = crypto1.DecryptToByteArray(buffer, simetricKey); File.WriteAllBytes(dataPath, plainText); lstMesajlarServer.Items.Add("Desifreleme islemi tamamlandi"); LogWriter("Desifreleme islemi tamamlandi"); //File.WriteAllBytes(@"C:\Users\Hknaksoyy\Desktop\cipherText.jpg", plainText); //LinkLabelLinkClickedEventArgs ex = new LinkLabelLinkClickedEventArgs(); //LinkFilePath_LinkClicked = true; //this.LinkFilePath_LinkClicked += this.LinkFilePath_LinkClicked; } else if (comboBox1.SelectedIndex == 2) { if (!string.IsNullOrEmpty(clienttanGelenMesaj)) { Crypto2 crypto2 = new Crypto2(); string decryptoHash = clienttanGelenMesaj.Substring((clienttanGelenMesaj.Length - 64), 64); string data = clienttanGelenMesaj.Substring(0, (clienttanGelenMesaj.Length - 64)); if (ComputeSha256Hash(data) == decryptoHash) { lstMesajlarServer.Items.Add(connectName + ": " + crypto2.DecryptKey(data, simetricKey)); label2.Text = clienttanGelenMesaj; LogWriter(clienttanGelenMesaj); } } } else if (comboBox1.SelectedIndex == 3) { Crypto3 crypto3 = new Crypto3(); lstMesajlarServer.Items.Add(connectName + ": " + crypto3.Decrypto(clienttanGelenMesaj)); label2.Text = clienttanGelenMesaj; LogWriter(clienttanGelenMesaj); } // Acik metin şeklinde iletimi saglar. else { if (clienttanGelenMesaj.EndsWith(" isimli kullanici geldi.")) { // Gelen kullanıcının tanımlanmasıdır. Console.WriteLine(clienttanGelenMesaj); connectName = clienttanGelenMesaj.Substring(0, clienttanGelenMesaj.Length - 24); lstMesajlarServer.Items.Add(clienttanGelenMesaj); LogWriter(clienttanGelenMesaj); } else { lstMesajlarServer.Items.Add(connectName + ": " + clienttanGelenMesaj); LogWriter(connectName + ": " + clienttanGelenMesaj); } } } }