Ejemplo n.º 1
0
        private void UseKnownСBox_CheckedChanged(object sender, EventArgs e)
        {
            switch (UseKnownСBox.Checked)
            {
            case true:
                if (GenParams.Encrypt == null || GenParams.Exp == null || GenParams.N == 0)
                {
                    MessageBox.Show("Сначала сгенерируйте параметры.");
                    UseKnownСBox.Checked = false;
                    return;
                }
                EncryptInputTBox.Enabled = EInputTBox.Enabled = NInputTBox.Enabled = false;
                EncryptInputTBox.Text    = GenParams.Encrypt.c.ToString();
                EInputTBox.Text          = GenParams.Exp.result.ToString();
                NInputTBox.Text          = GenParams.N.ToString();
                break;

            case false:
                EncryptInputTBox.Enabled = EInputTBox.Enabled = NInputTBox.Enabled = true;
                EncryptInputTBox.Clear();
                EInputTBox.Clear();
                NInputTBox.Clear();
                break;
            }
        }
Ejemplo n.º 2
0
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                MainFornLink.GTabControl.Enabled = false;
                MainFornLink.CancelPanel.Visible = true;
                BigInteger c;
                BigInteger exp;
                BigInteger n;
                if (!BigInteger.TryParse(EncryptInputTBox.Text, out c))
                {
                    MessageBox.Show("Недопустимые входные данные параметра (c)");
                    EncryptInputTBox.Clear();
                    return;
                }
                ;

                if (!BigInteger.TryParse(EInputTBox.Text, out exp))
                {
                    MessageBox.Show("Недопустимые входные данные параметра (e)");
                    EInputTBox.Clear();
                    return;
                }
                ;

                if (!BigInteger.TryParse(NInputTBox.Text, out n))
                {
                    MessageBox.Show("Недопустимые входные данные параметра (n)");
                    NInputTBox.Clear();
                    return;
                }
                ;

                Task.Factory.StartNew(() =>
                {
                    var items = CyclicCrack.Crack(c, exp, n);
                    MainFornLink.BeginInvoke(new Action(() =>
                    {
                        CrackDataLView.Items.Clear();
                        CrackDataLView.Items.AddRange(items.ToList().ConvertAll(i => new ListViewItem()
                        {
                            Text = i.Key, SubItems = { i.Value.ToString() }
                        }).ToArray());
                        MainFornLink.GTabControl.Enabled = true;
                        MainFornLink.CancelPanel.Visible = false;
                    }));
                });
            }
            catch (Exception)
            {
                MainFornLink.GTabControl.Enabled = true;
                MainFornLink.CancelPanel.Visible = false;
                //ignored
            }
        }