private void CaesarDecryptBtn_Click(object sender, RoutedEventArgs e)//凯撒解密 { if (Regex.IsMatch(CaesarKey.Text, AllowedKeys) && Regex.IsMatch(CaesarEncrypted.Text, AllowedTexts)) { CaesarPlain.Text = Caesar.Decrypt(CaesarEncrypted.Text, Convert.ToInt32(CaesarKey.Text)); } else { MessageBox.Show("偏移量必须是正整数、原文或密文必须由字母和空格组成", "输入的数值有误"); } }
private void ForceDecryptBtn_Click(object sender, RoutedEventArgs e) { string str = ""; if (Regex.IsMatch(CaesarEncrypted.Text, AllowedTexts)) { for (int i = 1; i < 27; i++) { str = str + i + " --> " + Caesar.Decrypt(CaesarEncrypted.Text, i) + Environment.NewLine;//重复执行解密26次,每次偏移量加1,将结果依次输出到原文框 } CaesarPlain.Text = str; } else { MessageBox.Show("密文必须由字母和空格组成", "输入的数值有误"); } }//凯撒穷举