private void buttonAsym_Click(object sender, EventArgs e) { if (comboBoxAsym.SelectedIndex < 0) //walidacja textBox { MessageBox.Show("Wybierz wartość dla pola comboBox 'Co chcesz zrobić?'"); } else if (string.IsNullOrWhiteSpace(textBoxInputAsym.Text)) //walidacja comboBox { MessageBox.Show("Wypełnij pole 'Wprowadź tekst'"); } else { var cryptoServiceProvider = new RSACryptoServiceProvider(2048); //długość klucza var privateKey = cryptoServiceProvider.ExportParameters(true); //klucz prywatny var publicKey = cryptoServiceProvider.ExportParameters(false); //klucz publiczny string publicKeyString = Asymmetric.GetKeyString(publicKey); //przypisanie klucza publicznego do stringa string privateKeyString = Asymmetric.GetKeyString(privateKey); //przypisanie klucza prywatnego do stringa textBoxPublicKey.Text = publicKeyString; //wypisanie klucza publicznego w textBoxie textBoxPrivateKey.Text = privateKeyString; //wypisanie klucza prywatnego w textBoxie string inputText = textBoxInputAsym.Text; //przypisanie zawartości textBoxa do zmiennej string encryptedText = Asymmetric.Encrypt(inputText, publicKeyString); //funkcja szyfrowania string decryptedText = Asymmetric.Decrypt(encryptedText, privateKeyString); //funkcja deszyfrowania if (comboBoxAsym.SelectedIndex == 0) { textBoxResultAsym.Text = encryptedText; } if (comboBoxAsym.SelectedIndex == 1) { textBoxResultAsym.Text = decryptedText; } } }
private void buttonAsymFile_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Pliki textowe (txt)|*.txt"; //połączenie z plikiem if (dialog.ShowDialog() == DialogResult.OK) //sprawdzenie połączenia { textBoxInputAsym.Text = File.ReadAllText(dialog.FileName); //przypisanie wartości z pliku do textBoxa "Wprowadź tekst" string toEncrypt = File.ReadAllText(dialog.FileName); //przypisanie wartości z pliku do zmiennej var cryptoServiceProvider = new RSACryptoServiceProvider(2048); //długość klucza var privateKey = cryptoServiceProvider.ExportParameters(true); //klucz prywatny var publicKey = cryptoServiceProvider.ExportParameters(false); //klucz publiczny string publicKeyString = Asymmetric.GetKeyString(publicKey); //przypisanie klucza publicznego do stringa string privateKeyString = Asymmetric.GetKeyString(privateKey); //przypisanie klucza prywatnego do stringa textBoxPublicKey.Text = publicKeyString; //wypisanie klucza publicznego w textBoxie textBoxPrivateKey.Text = privateKeyString; //wypisanie klucza prywatnego w textBoxie string encryptedText = Asymmetric.Encrypt(toEncrypt, publicKeyString); textBoxResultAsym.Text = encryptedText; //wypisywanie zaszyfrowanego wyniku w textBoxie } }