Example #1
0
        /// <summary>
        /// Шифрование/дешифрование
        /// </summary>
        private void EncryptDecryptButton_Click(object sender, RoutedEventArgs e)
        {
            string AlgName = null;

            CopyEncText.Visibility = Visibility.Visible;
            CopyKeyText.Visibility = Visibility.Visible;


            // ################################# Шифрование ################################
            if (EncryptionModeRadioButton.IsChecked == true)
            {
                if (CBCRadioButton.IsChecked == true)
                {
                    AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_CBC_PKCS7";
                    CopyIVText.Visibility = Visibility.Visible;
                }
                else
                {
                    AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_ECB_PKCS7";
                }

                try
                {
                    Cryptobox EncObject = new Cryptobox();
                    if (AlgName.Contains("RC4"))
                    {
                        AlgName = "RC4";
                    }
                    OutputTextTextbox.Text = EncObject.EncryptMode(InputTextTextbox.Text, KeyInputTextTextbox.Text, AlgName, IVInputTextTextbox.Text, "256");//KeySizeCombobox.SelectionBoxItem.ToString());
                    AlgName = null;
                }
                catch (Exception ex)
                {
                    string ErrorMessage = ex.Message;

                    var DialogMessage = new MessageDialog("Ой");

                    if (ErrorMessage.Contains("Value does not fall"))
                    {
                        DialogMessage = new MessageDialog("Указанная длина ключа не подходит для алгоритма", "Ой");
                    }
                    DialogMessage.ShowAsync();
                }
            }

            // ################################# Дешифрование ################################
            else
            {
                if (CBCRadioButton.IsChecked == true)
                {
                    AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_CBC_PKCS7";
                    CopyIVText.Visibility = Visibility.Visible;
                }
                else
                {
                    AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_ECB_PKCS7";
                }

                try
                {
                    Cryptobox DecObject = new Cryptobox();
                    if (AlgName.Contains("RC4"))
                    {
                        AlgName = "RC4";
                    }

                    OutputTextTextbox.Text = DecObject.DecrypMode(InputTextTextbox.Text, KeyInputTextTextbox.Text, AlgName, IVInputTextTextbox.Text, "256");//;KeySizeCombobox.SelectionBoxItem.ToString());
                    AlgName = null;
                    GC.Collect();
                }
                catch (Exception exception)
                {
                    string ErrorMessage = exception.Message;
                    // ################################# Обработчики ошибок дешифрования ################################
                    var DialogMessage = new MessageDialog("Ой");

                    if (ErrorMessage.Contains("0x80070017"))
                    {
                        DialogMessage = new MessageDialog("Неправильный ключ", "Ой");
                    }
                    else if (ErrorMessage.Contains("Плохие данные"))
                    {
                        DialogMessage = new MessageDialog("Вы пытаетесь расшифровать не зашифрованный текст", "Ой");
                    }
                    else if (ErrorMessage.Contains("буфер не подходит"))
                    {
                        DialogMessage = new MessageDialog("Введите вектор инициализации IV", "Ой");
                    }
                    else if (ErrorMessage.Contains("Value does not fall"))
                    {
                        DialogMessage = new MessageDialog("Указанная длина ключа не подходит для алгоритма", "Ой");
                    }

                    else
                    {
                        DialogMessage = new MessageDialog(ErrorMessage, "Ой");
                    }
                    DialogMessage.ShowAsync();

                    ////////////////////////////////////////////////////////////////////
                }
            }
        }
Example #2
0
        /// <summary>
        /// Шифрование/дешифрование
        /// </summary>
        private void EncryptDecryptButton_Click(object sender, RoutedEventArgs e)
        {
            string AlgName = null;

            CopyEncText.Visibility = Visibility.Visible;
            CopyKeyText.Visibility = Visibility.Visible;

            // ################################# Шифрование ################################
            if (EncryptionModeRadioButton.IsChecked==true)
            {
            if (CBCRadioButton.IsChecked == true)
            {
                AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_CBC_PKCS7";
                CopyIVText.Visibility = Visibility.Visible;
            }
            else
            {
                AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_ECB_PKCS7";
            }

            try
            {
                Cryptobox EncObject = new Cryptobox();
                if (AlgName.Contains("RC4"))
                {
                    AlgName = "RC4";
                }
                OutputTextTextbox.Text = EncObject.EncryptMode(InputTextTextbox.Text, KeyInputTextTextbox.Text, AlgName, IVInputTextTextbox.Text, "256");//KeySizeCombobox.SelectionBoxItem.ToString());
                AlgName = null;
             }
             catch (Exception ex)
             {
               string ErrorMessage = ex.Message;

              var DialogMessage = new MessageDialog("Ой");

               if (ErrorMessage.Contains("Value does not fall"))
                {
                 DialogMessage = new MessageDialog("Указанная длина ключа не подходит для алгоритма", "Ой");

                }
               DialogMessage.ShowAsync();

             }
            }

            // ################################# Дешифрование ################################
            else
            {
            if (CBCRadioButton.IsChecked == true)
            {
                AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_CBC_PKCS7";
                CopyIVText.Visibility = Visibility.Visible;
            }
            else
            {
                AlgName = AlgNameCombobox.SelectionBoxItem.ToString() + "_ECB_PKCS7";
            }

            try
            {
                Cryptobox DecObject = new Cryptobox();
                if (AlgName.Contains("RC4"))
                {
                    AlgName = "RC4";
                }

                OutputTextTextbox.Text = DecObject.DecrypMode(InputTextTextbox.Text, KeyInputTextTextbox.Text, AlgName, IVInputTextTextbox.Text, "256");//;KeySizeCombobox.SelectionBoxItem.ToString());
                AlgName = null;
                GC.Collect();

            }
            catch (Exception exception)
            {
                string ErrorMessage=exception.Message;
                // ################################# Обработчики ошибок дешифрования ################################
                var DialogMessage=new MessageDialog("Ой");

                if (ErrorMessage.Contains("0x80070017"))
                {
                    DialogMessage = new MessageDialog("Неправильный ключ", "Ой");

                }
                else if (ErrorMessage.Contains("Плохие данные"))
                {
                    DialogMessage = new MessageDialog("Вы пытаетесь расшифровать не зашифрованный текст", "Ой");

                }
                else if (ErrorMessage.Contains("буфер не подходит"))
                {
                    DialogMessage = new MessageDialog("Введите вектор инициализации IV", "Ой");

                }
                else if (ErrorMessage.Contains("Value does not fall"))
                {
                    DialogMessage = new MessageDialog("Указанная длина ключа не подходит для алгоритма", "Ой");

                }

                else
                {
                    DialogMessage = new MessageDialog(ErrorMessage, "Ой");

                }
                DialogMessage.ShowAsync();

                ////////////////////////////////////////////////////////////////////
            }
            }
        }