/// <summary> /// Вывод статистики по триграммам /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AAA_Click(object sender, RoutedEventArgs e) { Button b = (Button)sender; if (b.Name == "AAA2") { var data = Ngramm.NGrams(CripDecripBox.Text, 3); if (data.Count > Languege.z) { new Stat(data).Show(); } else { ShowStat2(data); } } else { var data = Ngramm.NGrams(textBox1.Text, 3); if (data.Count > Languege.z) { new Stat(data).Show(); } else { ShowStat(data); } } }
/// <summary> /// Мозки кнопки "расшифровать" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Decryption_Click(object sender, RoutedEventArgs e) { ClickTitle.Text = "Расшифрованный текст"; var data = Ngramm.NGrams(textBox1.Text); ShowStat(data); dynamic textWK; switch (CriptMetod) { case "Vishener": var cm = GetCriptMetod("Vishener"); //TYT if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Encoded) { textWK = GetWKClass("Vishener", GetWordAndKey.Encoded, GetWordAndKey.Key); } else { textWK = GetWKClass("Vishener", textBox1.Text, key.Text); } } else { textWK = GetWKClass("Vishener", textBox1.Text, key.Text); } ExecuteDecript(cm, textWK); break; case "ReverseVeshener": cm = GetCriptMetod("ReverseVeshener"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Encoded) { textWK = GetWKClass("ReverseVeshener", GetWordAndKey.Encoded, GetWordAndKey.Key); } else { textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text); } } else { textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text); } ExecuteDecript(cm, textWK); break; case "Hill": cm = GetCriptMetod("Hill"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Encoded) { textWK = GetWKClass("Hill", GetWordAndKey.Encoded, GetWordAndKey.Key); } else { textWK = GetWKClass("Hill", textBox1.Text, key.Text); } } else { textWK = GetWKClass("Hill", textBox1.Text, key.Text); } ExecuteDecript(cm, textWK); break; case "Permutation": cm = GetCriptMetod("Permutation"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Encoded) { textWK = GetWKClass("Permutation", GetWordAndKey.Encoded, GetWordAndKey.Key); } else { textWK = GetWKClass("Permutation", textBox1.Text, key.Text); } } else { textWK = GetWKClass("Permutation", textBox1.Text, key.Text); } ExecuteDecript(cm, textWK); break; } data = Ngramm.NGrams(CripDecripBox.Text); ShowStat2(data); }
/// <summary> /// Реализация кнопки "Зашифровать" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Encryption_Click_1(object sender, RoutedEventArgs e) { var button = (Button)sender; if (button.Content.ToString() == "Зашифровать") { ClickTitle.Text = "Зашифрованный текст"; var data = Ngramm.NGrams(textBox1.Text); ShowStat(data); dynamic textWK; switch (CriptMetod) { case "Vishener": var cm = GetCriptMetod("Vishener"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Word) { textWK = GetWordAndKey; } else { textWK = GetWKClass("Vishener", textBox1.Text, key.Text); } } else { textWK = GetWKClass("Vishener", textBox1.Text, key.Text); } ExecuteCript(cm, textWK); GetWordAndKey = textWK; break; case "ReverseVeshener": cm = GetCriptMetod("ReverseVeshener"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Word) { textWK = GetWordAndKey; } else { textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text); } } else { textWK = GetWKClass("ReverseVeshener", textBox1.Text, key.Text); } ExecuteCript(cm, textWK); GetWordAndKey = textWK; break; case "Hill": cm = GetCriptMetod("Hill"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Word) { textWK = GetWordAndKey; } else { textWK = GetWKClass("Hill", textBox1.Text, key.Text); } } else { textWK = GetWKClass("Hill", textBox1.Text, key.Text); } ExecuteCript(cm, textWK); GetWordAndKey = textWK; break; case "Permutation": cm = GetCriptMetod("Permutation"); if (GetWordAndKey != null) { if (textBox1.Text == GetWordAndKey.Word) { textWK = GetWordAndKey; } else { textWK = GetWKClass("Permutation", textBox1.Text, key.Text); } } else { textWK = GetWKClass("Permutation", textBox1.Text, key.Text); } ExecuteCript(cm, textWK); GetWordAndKey = textWK; break; } data = Ngramm.NGrams(CripDecripBox.Text); ShowStat2(data); } else { switch (HackMetod) { case "VigenereKey": var cs = GetCriptSecur("VigenereKey"); cs.FindKey(key.Text); var csh = new Normalizator(); csh.NormalizeKey(cs.GetKey, selectIndex); MessageBox.Show(String.Join("\n\r", csh.Keys)); break; case "FindHillsKey": cs = GetCriptSecur("FindHillsKey"); cs.FindKey(textBox1.Text, key.Text); MessageBox.Show(cs.Ansver[0].ToString()); MessageBox.Show(cs.Ansver[1].ToString()); break; case "FindPermutationKey": cs = GetCriptSecur("FindPermutationKey"); cs.FindKey(key.Text, textBox1.Text); foreach (var k in cs.Key) { MessageBox.Show(String.Join(" ", k)); } break; } } }