为什么下面的代码解密按钮后没有输出到文本框 using System; using System.Windows.Forms; namespace VigenereCipher { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void encryptButton_Click(object sender, EventArgs e) { string text = inputTextBox.Text; string key = keyTextBox.Text; string cipherText = Encrypt(text, key); outputTextBox.Text = cipherText; } private void decryptButton_Click(object sender, EventArgs e) { string text = inputTextBox.Text; string key = keyTextBox.Text; string plainText = Decrypt(text, key); outputTextBox.Text = plainText; } static string Encrypt(string text, string key) { string cipherText = ""; int keyIndex = 0; for (int i = 0; i < text.Length; i++) { char c = text[i]; int offset = key[keyIndex] - 'A'; char encryptedChar = (char)((c + offset) % 256); cipherText += encryptedChar; keyIndex = (keyIndex + 1) % key.Length; } return cipherText; } static string Decrypt(string text, string key) { string plainText = ""; int keyIndex = 0; for (int i = 0; i < text.Length; i++) { char c = text[i]; int offset = key[keyIndex] - 'A'; char decryptedChar = (char)((c - offset + 256) % 256); plainText += decryptedChar; keyIndex = (keyIndex + 1) % key.Length; } return plainText; } } }
时间: 2024-01-18 16:02:04 浏览: 79
PVPartialShading.zip_PV SYSTEM_PV shading_Partial shading PV_pv
这段代码实现了维吉尼亚密码的加密和解密功能,其中Encrypt函数实现了加密,Decrypt函数实现了解密。该程序界面中有三个文本框,分别是输入文本框、密钥文本框和输出文本框。当用户在输入文本框中输入明文并在密钥文本框中输入密钥后,点击加密按钮,程序会使用维吉尼亚密码对明文进行加密,并将结果输出到输出文本框中。当用户在输入文本框中输入密文并在密钥文本框中输入密钥后,点击解密按钮,程序会使用维吉尼亚密码对密文进行解密,并将结果输出到输出文本框中。
阅读全文