При всей своей практической бесполезности и простоты, эта программа может развеселить и даже занять на какое-то время вас и ваших друзей, либо детей.
И так, из функциональных элементов, нам потребуется всего 1 TextBox (для ввода и вывода сообщения) и 2 Button (для шифрования и расшифровки соответственно). У TextBox полезно включить MultiLine и ScrollBar: Vertical.
Сам код программы представлен одним методом, отвечающим за шифрование и дешифровка сообщения (в зависимости от наличия аргумента):
public void shifdesh(bool encryption = true) // Шифрование (по-умолчанию) и дешифровка
{
string text = tbText.Text;
tbText.Clear();
for (int i = 0; i < text.Length; i++)
tbText.Text += encryption ? (char)(text[i] + 22) : (char)(text[i] - 22);
}
Как видно, программа циклом "проходит" по каждому символу в заданной строке и в зависимости от выбранного действия (шифрование или дешифровка) прибавляет (или убавляет) к порядковому номеру текущего символа число 22, меняя тем самым сам символ.
"Режим" метода (шифрование или дешифровка) зависит от параметра encryption, который по-умолчанию содержит значение true и включает режим шифрования. Для смены режима на дешифровку необходимо, вызывая метод, передать параметру encryption значение false.
private void butShifr_Click(object sender, EventArgs e) // Зашифровать сообщение
{
shifdesh();
}
private void butDeShifr_Click(object sender, EventArgs e) // Расшифровать сообщение
{
shifdesh(false);
}