示例#1
0
        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);
                }
            }
        }
示例#2
0
        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);
                    }
                }
            }
        }