private void button1_Click(object sender, EventArgs e)
        {
            string pass = proxy.GetClientPassword(usId);

            CryptoLib.CryptoClass obj = new CryptoLib.CryptoClass();
            DialogResult          dr  = openFileDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {
                string putanja = openFileDialog1.FileName;
                fajl.Naziv = Path.GetFileName(putanja);
                if (proxy.CheckFile(usId, fajl.Naziv))
                {
                    MessageBox.Show("Ovaj vec postoji u bazi!");
                }
                else
                {
                    byte[] bajtoviFajla = new byte[File.ReadAllBytes(putanja).Length];
                    //bajtoviFajla = File.ReadAllBytes(putanja);
                    bajtoviFajla = File.ReadAllBytes(putanja);
                    string stringBajtova = System.Text.Encoding.UTF8.GetString(bajtoviFajla);
                    string HashBajtovi   = obj.MD5Hash(stringBajtova);
                    listHashXTEA.Items.Add(HashBajtovi);
                    string kriptovaniBajtovi = obj.XTEAEncrypt(stringBajtova, pass);
                    fajl.Hashkod   = HashBajtovi;
                    fajl.Textfajla = File.ReadAllText(putanja);
                    fajl.Metoda    = "XTEA";
                    proxy.insertInFiles(kriptovaniBajtovi, fajl.Metoda, fajl.Hashkod, usId, fajl.Naziv, System.Text.Encoding.UTF8.GetString(bajtoviFajla));
                }
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (!proxy.CheckFile(idUser, txtIme.Text))
            {
                MessageBox.Show("Ne postoji taj u bazi");
            }
            else
            {
                CryptoLib.CryptoClass obj = new CryptoLib.CryptoClass();
                string pomString          = proxy.GetMethod(idUser, txtIme.Text);
                string hashDekriptovanih;

                if (pomString == "Knapsack")
                {
                    //MessageBox.Show(pomString);
                    string path       = txtIme.Text.Replace(@"\", string.Empty);
                    char[] chartoTrim = { 'C', ':', '.' };
                    string trimedpath = path.Trim(chartoTrim);
                    string fileName   = @"D:\Fakukltet\Zastita inforamcija\EnkripcijaProjekat\" + "Knapsack" + trimedpath;

                    StreamReader sr        = new StreamReader(fileName);
                    string       podaciStr = sr.ReadLine();

                    byte[] dekriptovaniBajtovi = obj.DecryptKnapsack(podaciStr);

                    hashDekriptovanih = obj.MD5Hash(dekriptovaniBajtovi);
                    listHashKod.Items.Add(hashDekriptovanih);



                    SaveFileDialog saveDialog = new SaveFileDialog();
                    //Stream stream;
                    // saveDialog.Filter = "*.txt";
                    saveDialog.FileName = txtIme.Text;
                    saveDialog.Filter   = "(*.txt)|*.txt|(*.*)|*.*";

                    if (saveDialog.ShowDialog() == DialogResult.OK)
                    {
                        // string pom = proxy.GetFileText(idUser, txtIme.Text);

                        string tekstFajla = System.Text.Encoding.UTF8.GetString(dekriptovaniBajtovi);

                        File.WriteAllText(saveDialog.FileName, tekstFajla);
                    }
                }
                if (pomString == "DT")
                {
                    string path       = txtIme.Text.Replace(@"\", string.Empty);
                    char[] chartoTrim = { ':', '.' };
                    string trimedpath = path.Trim(chartoTrim);
                    string fileName   = @"D:\Fakukltet\Zastita inforamcija\EnkripcijaProjekat\" + "DT" + trimedpath;

                    string       kriptovaniBajtovi = proxy.getUserFile(idUser, txtIme.Text);
                    StreamReader sr         = new StreamReader(fileName);
                    string       podaciStr  = sr.ReadLine();
                    string       heshString = obj.DTDecrypt(kriptovaniBajtovi, podaciStr);
                    hashDekriptovanih = obj.MD5Hash(heshString);
                    listHashKod.Items.Add(hashDekriptovanih);

                    SaveFileDialog sfd = new SaveFileDialog();
                    sfd.FileName = txtIme.Text;
                    sfd.Filter   = "(*.txt)|*.txt|(*.*)|*.*";

                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        File.WriteAllText(sfd.FileName, heshString);
                    }
                }
                if (pomString == "XTEA")
                {
                    string pass = proxy.GetClientPassword(idUser);
                    string kriptovaniBajtovi = proxy.getUserFile(idUser, txtIme.Text);
                    string hesString         = obj.XTEADecrypt(kriptovaniBajtovi, pass);
                    hashDekriptovanih = obj.MD5Hash(hesString);
                    listHashKod.Items.Add(hashDekriptovanih);
                    SaveFileDialog sfd = new SaveFileDialog();
                    sfd.FileName = txtIme.Text;
                    sfd.Filter   = "(*.txt)|*.txt|(*.*)|*.*";
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        File.WriteAllText(sfd.FileName, hesString);
                    }
                }
            }
        }
        private void uploadBtn_Click(object sender, EventArgs e)
        {
            if (flag == false)
            {
                MessageBox.Show("Niste generisali kljuceve!");
            }
            else
            {
                CryptoLib.CryptoClass obj = new CryptoLib.CryptoClass();


                DialogResult dr = openFileDialog1.ShowDialog();
                if (dr == DialogResult.OK)
                {
                    string putanja = openFileDialog1.FileName;
                    fajl.Naziv = Path.GetFileName(putanja);

                    // fajl.Naziv = fajl.Naziv.Replace(@"\", string.Empty);
                    // MessageBox.Show(fajl.Naziv);
                    if (proxy.CheckFile(userID, fajl.Naziv))
                    {
                        MessageBox.Show("Ovaj vec postoji u bazi!");
                    }
                    else
                    {
                        byte[]      pomBajtovi      = new byte[File.ReadAllBytes(putanja).Length];
                        List <int>  lista           = new List <int>();
                        List <byte> pomlistabajtova = new List <byte>();
                        pomBajtovi = File.ReadAllBytes(putanja);


                        /*StringBuilder strbil1 = new StringBuilder();
                         * StringBuilder strbil2 = new StringBuilder();
                         * for (int k = 0; k < pomBajtovi.Length; k++)
                         * {
                         *   strbil1.Append(pomBajtovi[k].ToString("x2"));
                         *
                         * }
                         * MessageBox.Show(strbil1.ToString());*/



                        byte[] bajtovizaSlanje = obj.KnapsackCrypt(pomBajtovi, txtPrivateim.Text, txtPrivateN.Text, txtPublicJ.Text, txtPrivateP.Text, fajl.Naziv);

                        /*for (int p = 0; p < bajtovizaSlanje.Length; p++)
                         * {
                         *   strbil2.Append(bajtovizaSlanje[p].ToString("x2"));
                         * }
                         * MessageBox.Show(strbil2.ToString());*/
                        string pom = obj.MD5Hash(pomBajtovi);

                        fajl.Hashkod = pom;
                        hashKnap.Items.Add(pom);
                        fajl.Textfajla = File.ReadAllText(putanja);
                        fajl.Metoda    = "Knapsack";
                        string stringZaslanje = BitConverter.ToString(bajtovizaSlanje);



                        proxy.insertInFiles(stringZaslanje, fajl.Metoda, fajl.Hashkod, userID, fajl.Naziv, System.Text.Encoding.UTF8.GetString(pomBajtovi));
                    }
                }
            }
        }
Beispiel #4
0
        private void btnUpload_Click(object sender, EventArgs e)
        {
            CryptoLib.CryptoClass obj = new CryptoLib.CryptoClass();
            DialogResult          dr  = openFileDialog1.ShowDialog();

            if (dr == DialogResult.OK)
            {
                string putanja = openFileDialog1.FileName;
                fajl.Naziv = Path.GetFileName(putanja);
                if (proxy.CheckFile(userId, fajl.Naziv))
                {
                    MessageBox.Show("Fajl vec postoji u bazi!");
                }
                else
                {
                    byte[] bajtoviFajla = new byte[File.ReadAllBytes(putanja).Length];
                    bajtoviFajla = File.ReadAllBytes(putanja);
                    string permutacijaX  = perX.Text;
                    string permutacijaY  = perY.Text;
                    int    dimenzijaX    = Convert.ToInt32(dimX.Text);
                    int    dimenzijaY    = Convert.ToInt32(dimY.Text);
                    string bajtoviString = System.Text.Encoding.UTF8.GetString(bajtoviFajla);
                    int    faktor;
                    if (dimenzijaX > dimenzijaY)
                    {
                        faktor = dimenzijaX;
                    }
                    else
                    {
                        faktor = dimenzijaY;
                    }
                    if (bajtoviString.Length < dimenzijaX - dimenzijaY)
                    {
                        MessageBox.Show("Potrebno je uneti veci fajl");
                    }
                    else
                    {
                        char[,] transponozicionaMatrica = new char[dimenzijaX, dimenzijaY];
                        for (int i = 0; i < dimenzijaX; i++)
                        {
                            for (int j = 0; j < dimenzijaY; j++)
                            {
                                transponozicionaMatrica[i, j] = bajtoviString[dimenzijaY * i + j];
                            }
                        }
                        string stringToHash = "";
                        for (int i = 0; i < dimenzijaX; i++)
                        {
                            for (int j = 0; j < dimenzijaY; j++)
                            {
                                stringToHash += transponozicionaMatrica[i, j];
                            }
                        }
                        string hesovanString  = obj.MD5Hash(stringToHash);
                        string zaslanjeString = obj.DTCrypt(transponozicionaMatrica, permutacijaX, permutacijaY, dimenzijaX, dimenzijaY, fajl.Naziv);
                        hashList.Items.Add(hesovanString);
                        fajl.Hashkod   = hesovanString;
                        fajl.Textfajla = File.ReadAllText(putanja);
                        fajl.Metoda    = "DT";
                        proxy.insertInFiles(zaslanjeString, fajl.Metoda, fajl.Hashkod, userId, fajl.Naziv, fajl.Textfajla);
                    }
                }
            }
        }