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