private void button4_Click(object sender, EventArgs e) { alg.setLetters(textBox1.Text); alg.setKey(textBox4.Text); alg.setFile("C:\\Users\\Nemanja\\Desktop\\New Text Document.txt"); alg.makeDictionary(); alg.algStartE(); }
public void consumerWork() { while (true) { //while (!form.listIsEmpty()) while (red.Count != 0) { if (form.getIndex() == 0) { //string s = form.getListItem(); string s; lock (thislock) { s = red.Dequeue(); } StreamReader plaintext; try { plaintext = new StreamReader(s); } catch (IOException) { Thread.Sleep(3000); plaintext = new StreamReader(s); } char[] sp = { '\\', '\\' }; string[] s1 = s.Split(sp); int br = s1.Length - 1; StreamWriter saveWork = File.AppendText(form.getSourceFolder() + "\\resume.dat"); saveWork.WriteLine(s); saveWork.Close(); string[] s2 = s1[br].Split('.'); string s3 = ""; for (int i = 0; i < s2.Length; i++) { if (s2[i] != "txt") { s3 += s2[i]; } } s3 += ".code"; StreamWriter coded = new StreamWriter(form.getDestinationFolder() + "\\" + s3); alg.setFile(s); alg.setKey(form.getKey()); alg.setLetters(form.getLetters()); coded.WriteLine(alg.algStartE()); coded.Close(); plaintext.Close(); form.deleteListItem(s); } else if (form.getIndex() == 1) { string s; lock (thislock) { s = red.Dequeue(); } form.deleteListItem(s); StreamWriter saveWork = File.AppendText(form.getSourceFolder() + "\\resume.dat"); saveWork.WriteLine(s); saveWork.Close(); GetKey(); char[] sp = { '\\', '\\' }; string[] s1 = s.Split(sp); int br = s1.Length - 1; string[] s2 = s1[br].Split('.'); string s3 = s2[s2.Length - 2]; byte[] result = new byte[15]; using (BinaryReader reader = new BinaryReader(new FileStream(s, FileMode.Open))) { using (BinaryWriter writer = new BinaryWriter(File.Open(form.getDestinationFolder() + "\\" + s3 + ".code", FileMode.Create))) { while (reader.BaseStream.Position != reader.BaseStream.Length) { for (int i = 0; i < 15; i++) { filebytes[i] = 0x00; } reader.Read(filebytes, 0, 15); for (int i = 0; i < 15; i++) { result[i] = 0x00; result[i] = (byte)(filebytes[i] ^ keystream1[i]); if (result[i] != 0x00) { writer.Write(result[i]); } } } } } } else if (form.getIndex() == 2) { string s; lock (thislock) { s = red.Dequeue(); } form.deleteListItem(s); StreamWriter saveWork = File.AppendText(form.getSourceFolder() + "\\resume.dat"); saveWork.WriteLine(s); saveWork.Close(); uint[] kljuc = new uint[4]; kljuc[0] = 0x2b; kljuc[1] = 0x3a; kljuc[2] = 0x4c; kljuc[3] = 0x1d; char[] sp = { '\\', '\\' }; string[] s1 = s.Split(sp); int br = s1.Length - 1; string[] s2 = s1[br].Split('.'); string s3 = s2[s2.Length - 2]; byte[] result = new byte[8]; iv = Encoding.ASCII.GetBytes(form.getKey()); using (BinaryReader reader = new BinaryReader(new FileStream(s, FileMode.Open))) { using (BinaryWriter writer = new BinaryWriter(File.Open(form.getDestinationFolder() + "\\" + s3 + ".code", FileMode.Create))) { while (reader.BaseStream.Position != reader.BaseStream.Length) { for (int i = 0; i < 8; i++) { teabytes[i] = 0x00; } reader.Read(teabytes, 0, 8); for (int i = 0; i < 8; i++) { result[i] = 0x00; result[i] = (byte)(teabytes[i] ^ iv[i]); } uint[] resultcon = new uint[2]; resultcon[0] = BitConverter.ToUInt32(result, 0); resultcon[1] = BitConverter.ToUInt32(result, 4); iv = alg3.EncodeTEA(resultcon, kljuc).SelectMany(BitConverter.GetBytes).ToArray(); //writer.Write(alg3.EncodeTEA(resultcon, kljuc).SelectMany(BitConverter.GetBytes).ToArray()); writer.Write(iv); for (int i = 0; i < 8; i++) { iv[i] = (byte)(iv[i] ^ teabytes[i]); } } } } } else { string s; lock (thislock) { s = red.Dequeue(); } form.deleteListItem(s); StreamWriter saveWork = File.AppendText(form.getSourceFolder() + "\\resume.dat"); saveWork.WriteLine(s); saveWork.Close(); uint[] kljuc = new uint[4]; kljuc[0] = 0x2b; kljuc[1] = 0x3a; kljuc[2] = 0x4c; kljuc[3] = 0x1d; char[] sp = { '\\', '\\' }; string[] s1 = s.Split(sp); int br = s1.Length - 1; string[] s2 = s1[br].Split('.'); string s3 = s2[s2.Length - 2]; byte[] result = new byte[8]; iv = Encoding.ASCII.GetBytes(form.getKey()); using (BinaryReader reader = new BinaryReader(new FileStream(s, FileMode.Open))) { using (BinaryWriter writer = new BinaryWriter(File.Open(form.getDestinationFolder() + "\\" + s3 + ".code", FileMode.Create))) { while (reader.BaseStream.Position != reader.BaseStream.Length) { for (int i = 0; i < 8; i++) { teabytes[i] = 0x00; } reader.Read(teabytes, 0, 8); for (int i = 0; i < 8; i++) { result[i] = 0x00; result[i] = (byte)(teabytes[i] ^ iv[i]); } uint[] resultcon = new uint[2]; resultcon[0] = BitConverter.ToUInt32(result, 0); resultcon[1] = BitConverter.ToUInt32(result, 4); iv = alg3.EncodeXTEA(resultcon, kljuc).SelectMany(BitConverter.GetBytes).ToArray(); //writer.Write(alg3.EncodeTEA(resultcon, kljuc).SelectMany(BitConverter.GetBytes).ToArray()); writer.Write(iv); for (int i = 0; i < 8; i++) { iv[i] = (byte)(iv[i] ^ teabytes[i]); } } } } } } } }