private void Button_Click(object sender, System.Windows.RoutedEventArgs eargs) { string plain = edPlainText.Text; StringBuilder numberBuilder = new StringBuilder(); StringBuilder cryptBuilder = new StringBuilder(); int count = 0; foreach (char chr in plain) { char cr = char.ToUpper(chr); if (cr == ' ') { numberBuilder.Append("00"); cryptBuilder.Append("00"); } else if (cr >= 'A' && cr <= 'Z') { numberBuilder.AppendFormat("{0:00}", (int)(cr - 'A' + 1)); cryptBuilder.AppendFormat("{0:00}", (int)(cr - 'A' + 1)); } numberBuilder.Append(" "); if (count++ == 2) { cryptBuilder.Append(" "); count = 0; } } edNumberized.Text = numberBuilder.ToString(); edPlainNumbers.Text = cryptBuilder.ToString(); //############### long e = ed_Key_e.Value.Value; long n = ed_Key_n.Value.Value; StringBuilder readyBuilder = new StringBuilder(); foreach (int b in cryptBuilder.ToString().Split(' ').Where(p => RSAHelper.isInt(p)).Select(p => Convert.ToInt64(p)).ToList()) { string dbgout = ""; string dbgout2 = ""; long v = RSAHelper.BinaryModuloPow(b, e, n, ref dbgout, ref dbgout2); readyBuilder.AppendFormat("{0:000000} ", v); } edCryptNumbers.Text = readyBuilder.ToString(); }
private void Button_Click(object sender, System.Windows.RoutedEventArgs eargs) { long d = ed_Key_d.Value.Value; long n = ed_Key_n.Value.Value; string code = edCryptNumbers.Text; StringBuilder readyBuilder = new StringBuilder(); foreach (int b in code.Split(' ').Where(p => RSAHelper.isInt(p)).Select(p => Convert.ToInt64(p)).ToList()) { string dbgout = ""; string dbgout2 = ""; long v = RSAHelper.BinaryModuloPow(b, d, n, ref dbgout, ref dbgout2); readyBuilder.AppendFormat("{0:000000} ", v); } edNumberized.Text = readyBuilder.ToString(); StringBuilder numberBuilder = new StringBuilder(); foreach (int b in readyBuilder.ToString().Split(' ').Where(p => RSAHelper.isInt(p)).Select(p => Convert.ToInt64(p)).ToList()) { numberBuilder.AppendFormat("{0:00} ", (b / 10000) % 100); numberBuilder.AppendFormat("{0:00} ", (b / 100) % 100); numberBuilder.AppendFormat("{0:00} ", (b / 1) % 100); } edPlainNumbers.Text = numberBuilder.ToString(); StringBuilder textBuilder = new StringBuilder(); foreach (int b in numberBuilder.ToString().Split(' ').Where(p => RSAHelper.isInt(p)).Select(p => Convert.ToInt64(p)).ToList()) { if (b == 0) { textBuilder.Append(' '); } else { textBuilder.Append((char)('A' + (b - 1))); } } edPlainText.Text = textBuilder.ToString(); }