示例#1
0
        private void BtnGonderClient_Click(object sender, EventArgs e)
        {
            if (cbChoose.SelectedIndex == 1)
            {
                Crypto1 crypto1 = new Crypto1();
                //string key = "asdfgytasdfgytrfghtuytorfghtuyto";

                byte[] acikMetin    = File.ReadAllBytes(m_ImageFilePath);
                byte[] sifreliMetin = crypto1.EncryptToByteArray(acikMetin, simetricKey);

                serverWriter.WriteLine(/*"UPLOAD_START_" +*/ Convert.ToBase64String(sifreliMetin) /*+ "_UPLOAD_END"*/);
                serverWriter.Flush();

                lstMesajlarClient.Items.Add("Dosya yolu : " + m_ImageFilePath + " gönderildi.");
                LogWriter("Dosya yolu : " + m_ImageFilePath + " gönderildi.");
            }
            else if (cbChoose.SelectedIndex == 2)
            {
                Crypto2 crypto2 = new Crypto2();

                string enryptoText = crypto2.EncryptKey(txtMesajClient.Text, simetricKey);
                enryptoText += ComputeSha256Hash(enryptoText);

                serverWriter.WriteLine(enryptoText);
                serverWriter.Flush();
                //CLIENT'IN KENDI LISTBOX'INA EKLEME ISLEMI
                lstMesajlarClient.Items.Add(txtNick.Text + ": " + txtMesajClient.Text);
                LogWriter(txtNick.Text + ": " + txtMesajClient.Text);
            }
            else if (cbChoose.SelectedIndex == 3)
            {
                Crypto3 crypto3 = new Crypto3();
                serverWriter.WriteLine(crypto3.Encrypto(txtMesajClient.Text));
                serverWriter.Flush();
                //CLIENT'IN KENDI LISTBOX'INA EKLEME ISLEMI
                lstMesajlarClient.Items.Add(txtNick.Text + ": " + txtMesajClient.Text);
                LogWriter(txtNick.Text + ": " + txtMesajClient.Text);
            }
            else
            {
                serverWriter.WriteLine(txtMesajClient.Text);
                serverWriter.Flush();
                lstMesajlarClient.Items.Add(txtNick.Text + ": " + txtMesajClient.Text);
                LogWriter(txtNick.Text + ": " + txtMesajClient.Text);
            }
            txtMesajClient.Clear();
        }
示例#2
0
文件: Program.cs 项目: mael0r/crypto
        private void Test(Options options)
        {
            string password = "******";

            try
            {
                Console.Write($"Encoding/Decoding [{options.TestFilename}]...");
                byte[] plaintext  = File.ReadAllBytes(options.TestFilename);
                byte[] ciphertext = Crypto2.Encrypt(plaintext, password);
                byte[] utest      = Crypto2.Decrypt(ciphertext, password);
                Console.WriteLine(plaintext.SequenceEqual(utest) ? "Good" : "Failed!");
                Console.WriteLine($" Encypted: {plaintext.Length,10} characters");
                Console.WriteLine($"Decrypted: {ciphertext.Length,10} characters");
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed");
                Console.WriteLine($"Error: {e.Message}");
            }
        }
示例#3
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);
                }
            }
        }
示例#4
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);
                    }
                }
            }
        }
示例#5
0
        private void BtnGonderServer_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 1)
            {
                if (!isSecretKey && !string.IsNullOrEmpty(txtMesajServer.Text))
                {
                    string publicKeyXML = String.Format(@"<RSAKeyValue>
                                                               <Modulus>{0}</Modulus>
                                                               <Exponent>{1}</Exponent>
                                                            </RSAKeyValue>",
                                                        ConfigurationSettings.AppSettings.Get("Modulus"),
                                                        ConfigurationSettings.AppSettings.Get("Exponent"));

                    string encryptSecretKey = Crypto2.EncryptSecretKey(txtMesajServer.Text, publicKeyXML);
                    LogWriter("Sifrelenecek Mesaj : " + txtMesajServer.Text);
                    LogWriter("Sifrelenmis Gizli Anahtar : " + encryptSecretKey);
                    clientWriter.WriteLine(encryptSecretKey);
                    clientWriter.Flush();
                    isSecretKey = true;
                }
                else
                {
                    Crypto1 crypto1      = new Crypto1();
                    byte[]  acikMetin    = File.ReadAllBytes(m_ImageFilePath);
                    byte[]  sifreliMetin = crypto1.EncryptToByteArray(acikMetin, simetricKey);

                    clientWriter.WriteLine(/*"UPLOAD_START_" +*/ Convert.ToBase64String(sifreliMetin) /*+ "_UPLOAD_END"*/);
                    clientWriter.Flush();

                    lstMesajlarServer.Items.Add("Dosya yolu : " + m_ImageFilePath + " gönderildi.");
                    LogWriter("Dosya yolu : " + m_ImageFilePath + " gönderildi.");
                }
            }
            else if (comboBox1.SelectedIndex == 2)
            {
                //Gizli anahtarın paylaşımını sağlar.
                if (!isSecretKey && !string.IsNullOrEmpty(txtMesajServer.Text))
                {
                    string publicKeyXML = String.Format(@"<RSAKeyValue>
                                                               <Modulus>{0}</Modulus>
                                                               <Exponent>{1}</Exponent>
                                                            </RSAKeyValue>",
                                                        ConfigurationSettings.AppSettings.Get("Modulus"),
                                                        ConfigurationSettings.AppSettings.Get("Exponent"));

                    string encryptSecretKey = Crypto2.EncryptSecretKey(txtMesajServer.Text, publicKeyXML);
                    LogWriter("Sifrelenecek Mesaj : " + txtMesajServer.Text);
                    LogWriter("Sifrelenmis Gizli Anahtar : " + encryptSecretKey);
                    clientWriter.WriteLine(encryptSecretKey);
                    clientWriter.Flush();
                    simetricKey = txtMesajServer.Text;
                    isSecretKey = true;
                }
                else
                {
                    Crypto2 crypto2   = new Crypto2();
                    string  encrypted = crypto2.EncryptKey(txtMesajServer.Text, simetricKey);
                    //GONDERILEN KISIM
                    string encryptedHash = encrypted;
                    encryptedHash += ComputeSha256Hash(encrypted);
                    clientWriter.WriteLine(encryptedHash);
                    clientWriter.Flush();
                    //SERVER'IN KENDI LISTBOX'INA EKLEME ISLEMI
                    lstMesajlarServer.Items.Add("Server: " + txtMesajServer.Text);
                    LogWriter("Server: " + txtMesajServer.Text);
                }
            }
            else if (comboBox1.SelectedIndex == 3)
            {
                Crypto3 crypto3   = new Crypto3();
                string  encrypted = crypto3.Encrypto(txtMesajServer.Text);
                //GONDERILEN KISIM
                clientWriter.WriteLine(encrypted);
                clientWriter.Flush();
                //SERVER'IN KENDI LISTBOX'INA EKLEME ISLEMI
                lstMesajlarServer.Items.Add("Server: " + txtMesajServer.Text);
                LogWriter("Server: " + txtMesajServer.Text);
            }
            else
            {
                clientWriter.WriteLine(txtMesajServer.Text);
                clientWriter.Flush();
                lstMesajlarServer.Items.Add("Server: " + txtMesajServer.Text);
                LogWriter("Server: " + txtMesajServer.Text);
            }
            //GONDERIM ISLEMINDEN SONRA TEXT BOLGESI TEMIZLENIR.
            txtMesajServer.Clear();
        }