Exemple #1
0
        //deszyfrowanie
        private void b_deszyfruj_Click(object sender, EventArgs e)
        {
            if (wynik == "" && r_u_ciagu.Checked == true)
            {
                MessageBox.Show("Nie wczytano ciągu szyfrującego (Kliknij Wczytaj -> Ciąg szyfrujący)");
                return;
            }
            if (t_szyfrogram.Text == "")
            {
                MessageBox.Show("Nie wpisano szyfrogramu.");
                return;
            }

            int l = t_szyfrogram.Text.Length * 8;

            byte[] byteArray = Encoding.GetEncoding(28592).GetBytes(t_szyfrogram.Text.ToCharArray());

            var bits = new BitArray(byteArray);

            if (r_u_generatora.Checked)
            {
                if (t_poczatkowy.Text == "" || t_odczepy.Text == "")
                {
                    MessageBox.Show("Generator nie został utworzony.");
                    return;
                }
                samoobcinajacy = new samoobcinajacy(t_poczatkowy.Text, t_odczepy.Text);

                for (int i = 0; i < l; i++)
                {
                    bits[i] ^= samoobcinajacy.step();
                }
            }
            else if (r_u_ciagu.Checked)
            {
                bool[] array = wynik.Select(c => c == '1').ToArray();
                if (l >= array.Length)
                {
                    MessageBox.Show("Wczytany ciąg jest za krótki.");
                    return;
                }
                for (int i = 0; i < l; i++)
                {
                    bits[i] ^= array[i];
                }
            }

            byte[] byteresult = BitArrayToByteArray(bits);
            t_tekst_jawny.Text = Encoding.GetEncoding(28592).GetString(byteresult);
        }
Exemple #2
0
        private void b_generuj_Click(object sender, EventArgs e)
        {
            if (t_ilosc.Text == "")
            {
                MessageBox.Show("Nie wpisano długości generowanego ciągu");
                return;
            }
            if (t_odczepy.Text == "")
            {
                MessageBox.Show("Nie wpisano indexów odczepów");
                return;
            }
            if (t_ilosc.Text == "0")
            {
                MessageBox.Show("Nie można wygenerować ciągu o długości: 0");
                return;
            }
            samoobcinajacy = new samoobcinajacy(t_poczatkowy.Text, t_odczepy.Text);
            String result = new String(samoobcinajacy.generate(Int32.Parse(t_ilosc.Text)));

            wynik = result;
            radioButton1.Checked = true;
            t_wynik.Text         = wynik;
        }