private static void create_keys() { string idkeys = create_id(); id = idkeys; List <string> list_keys = Generate_Keys.genertate_key(idkeys); rsa = Generate_Keys.load_keys(idkeys); }
internal static string decypt_text(string text, string key) { rsa = Generate_Keys.load_keysFile(key); string[] text_array = text.Split('\n'); List <string> result = new List <string>(); foreach (string line in text_array) { try { if (line != " ") { string[] test = line.Trim().Split(' '); int[] myInts = Array.ConvertAll(test, s => int.Parse(s)); byte[] bytes = new byte[myInts.Length]; for (int i = 0; i < myInts.Length; i++) { bytes[i] = (byte)myInts[i]; } byte[] decryptMsg = rsa.PublicDecryption(bytes); string de_string = Encoding.UTF8.GetString(decryptMsg); if (de_string.StartsWith("k@")) { de_string = de_string.Substring(2, de_string.Length - 2); } result.Add(de_string); //rsa = Generate_Keys.load_keys1(id); //byte[] decryptMsg = rsa.PublicDecryption(test1); //string de_string = Encoding.UTF8.GetString(decryptMsg); } } catch { Console.WriteLine(1); } } string[] test1 = result.ToArray(); string enc_result = String.Join("", test1); return(enc_result); }
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { string text = e_text; create_keys(); int j = 0; int i = 0; List <string> get_list_text = new List <string>(); while (i < text.Length) { if (j == 50) { get_list_text.Add(text.Substring(i - 50, 50)); j = 0; } else { j += 1; i += 1; } } int r = text.Length - get_list_text.Count * 50; get_list_text.Add(text.Substring(text.Length - r, r)); string[] line_text = get_list_text.ToArray(); int i1 = 0; List <string> k = new List <string>(); foreach (string line in line_text) { i1 += 1; byte[] message = Encoding.UTF8.GetBytes(line); rsa = Generate_Keys.load_keys(id); byte[] new_enc_byte = rsa.PrivateEncryption(message); byte[] decryptMsg = rsa.PublicDecryption(new_enc_byte); string de_string = Encoding.UTF8.GetString(decryptMsg); string test_string = line; while (de_string != test_string) { string a = ""; test_string = "k@" + line; message = Encoding.UTF8.GetBytes(test_string); new_enc_byte = rsa.PrivateEncryption(message); decryptMsg = rsa.PublicDecryption(new_enc_byte); de_string = Encoding.UTF8.GetString(decryptMsg); } int[] bytesAsInts = new_enc_byte.Select(x => (int)x).ToArray(); List <string> new_lne = new List <string>(); foreach (int a in bytesAsInts) { new_lne.Add(a.ToString()); } k.Add(String.Join(" ", new_lne)); double rep = Convert.ToDouble(i1) / Convert.ToDouble(line_text.Length); int rport = Convert.ToInt32(rep * 100); backgroundWorker1.ReportProgress(rport); } string[] test = k.ToArray(); string[] check1 = { String.Join("\n", test), id }; result1 = check1; }