private void ButtonClick(object sender, EventArgs e) { var Button = sender as Button; if (Button == null) return; switch (Button.Name) { case "Encrypt": if (keyText != null && keyText.Text.Length == 8) { Algorithm = new Modes(GetBitArray(OT.Text), keyText.Text); Algorithm.Encryption(); ET.Text = Algorithm.GetText(Algorithm.BitArrayET); GenError.Visible = true; } else MessageBox.Show("Ошибка! Ключ не задан или задан неверно (8 символов)"); break; case "Decryption": if (keyText != null && keyText.Text.Length == 8) { PosErr.Visible = false; Algorithm = new Modes(GetBitArray(ET.Text), keyText.Text); Algorithm.Decryption(); DT.Text = Algorithm.GetText(Algorithm.BitArrayDT); } else MessageBox.Show("Ошибка! Ключ не задан или задан неверно (длина 8 символов)"); break; case "Generate": keyText.Text = Encoding.GetEncoding(1251).GetString(GenerateKey()); break; case "GenError": Algorithm = new Modes(GetBitArray(ET.Text), keyText.Text); Random rand = new Random(); var randnum = rand.Next(0, Algorithm.BitArrayET.Length); PosErr.Text = "Случайная ошибка в бите №" + (randnum+1) + ",\n(байт №" + (int)(randnum/8 + 1) + ", блок №" + (int)(randnum / 64 + 1) + ")"; PosErr.Visible = true; Algorithm.BitArrayET[randnum] = !Algorithm.BitArrayET[randnum]; Algorithm.Decryption(); DT.Text = Algorithm.GetText(Algorithm.BitArrayDT); break; } }
public DES() { InitializeComponent(); Algorithm = new Algorithm(); }