Oppure

Loading
22/07/11 12:15
DexterELEL
Ragazzi sto creando un programma per criptare delle righe di testo ho inserito 2 combobox per selezionare il CipherMode e il PaddingMode ma ora sono incappato in questo problema come faccio a diciamo sincronizzare le 2 combobox? Mi spiego meglio cioè una legge per esempio quella CipherModer CBC e l'altra PaddingMode Zeros come faccio capire al bottone Cripta che su CipherModer è CBC e su PaddingMode Zeros??
Tipo ho fatto una stron*** del genere per farvi capire (naturalmente questa non richiama ne Mode ne Padd... Non so Aiutatemi vi prego

                if (comboBox1.Text == "CBC")
                {
                    string Mode = CipherMode.OFB.ToString();
                }
                if (comboBox2.Text == "Zeros")
                {
                    string Padd = PaddingMode.Zeros.ToString();
                }
                    string TripleDES = EncryptTripleDES(textBox1.Text, true, textBox2.Text, Mode, Padd);
                    textBox3.Text = TripleDES;
                }
Ultima modifica effettuata da DexterELEL 22/07/11 12:17
aaa
22/07/11 12:49
Nullable
Usa l'operatore logico &&.
EDIT: Ti consiglio di utilizzare la proprietà SelectedItem al posto di Text.
Ultima modifica effettuata da Nullable 22/07/11 12:51
aaa
22/07/11 14:02
DexterELEL
Si ma poi come faccio a far riconoscere qualche CipherModer andare ad inserire nell'Encrypter???
Non ci sarebbe un alternativa migliore?? eppure ci deve essere...
Poi spiegami come dovrei utilizzare l'operatore && a mio favore... perchè mi viene difficile capirlo...
Ultima modifica effettuata da DexterELEL 22/07/11 14:08
aaa
22/07/11 14:33
Nullable
Tu hai scritto che vuoi sincronizzare le due ComboBox ( ti consiglio di rinominarle e assegnare loro un nome più "decente" ). Io per sincronizzare capisco che vuoi in qualche modo verificarle entrambe e nello stesso tempo, ragion per cui ti ho scritto di utilizzare l'operatore logico && il cui utilizzo ( nel tuo codice ) diventa questo : if( comboBox1.Text == "CBC" && comboBox2.Text == "Zeros";)

NB: Non conosco il resto del codice quindi non saprei cosa scriverti per riconoscere il CipherModer di cui tu parli.
Ultima modifica effettuata da Nullable 22/07/11 14:34
aaa
22/07/11 14:42
DexterELEL
praticamente ad ogni combobox1.SelectedItem il CipherMode deve assegnare la cosa giusta
                if (comboBox1.SelectedItem == "CBC")
                {
                    string Mode = CipherMode.CBC.ToString();
                    string TripleDES = EncryptTripleDES(textBox81.Text, true, textBox83.Text, Mode, Padd);
                    textBox82.Text = TripleDES;
                }
                if (comboBox1.SelectedItem == OFB")
                {
                    string Mode = CipherMode.OFB.ToString();
                    string TripleDES = EncryptTripleDES(textBox81.Text, true, textBox83.Text, Mode, Padd);
                    textBox82.Text = TripleDES;
                }


Ok se era solo il CipherMode andava tutto alla grande siccome c'è anche il PaddingMode da inserire (stringa chiamata Padd) non ho idee su come far funzionare le 2 comboBox... capito???
aaa
22/07/11 14:52
Nullable
Sarà che sono ignorante per quanto riguarda la cryptazione ma ti giuro che non ho capito cosa tu voglia fare...Potresti ulteriormente spiegarti per favore ?
aaa
22/07/11 15:02
DexterELEL
Certamente allora:

string TripleDES = EncryptTripleDES(textBox81.Text, true, textBox83.Text, Mode, Padd);

Questa string più precisamente da EncryptTripleDES accetta 5 argomenti che elenco

1) stringa da criptare (textBox81.Text)
2) bool se usare l'hash (true)
3) stringa della chiave (textBox83.Text)
4) stringa del CipherMode (System.Security.Cryptography.CipherMode)
5) stringa del PaddingMode (System.Security.Cryptography.PaddingMode)

Allora io ho 2 comboBox
1) Per il CipherMode dove gli item sono CBC,OFB ecc
2) Per il PaddingMode dove gli item sono Zeros, PKCS7 ecc

Se devo selezionare il ChiperMode Esatto sapendo il Testo della comboBox Farei così
(Si noti che la stringa Padd qui non c'è;)
if (comboBox1.SelectedItem == "CBC")
                {
                    string Mode = CipherMode.CBC.ToString();
                    string TripleDES = EncryptTripleDES(textBox81.Text, true, textBox83.Text, Mode);
                    textBox82.Text = TripleDES;
                }


Ora il problema è aggiungere il ComboBox2 per il Padding...
if (comboBox1.SelectedItem == "CBC")
                {
if (comboBox2.SelectedItem == "PKCS7")
{
                    string Padd = PaddingMode.PKCS7.ToString();
                    string Mode = CipherMode.CBC.ToString();
                    string TripleDES = EncryptTripleDES(textBox81.Text, true, textBox83.Text, Mode, Padd);
                    textBox82.Text = TripleDES;
}
                }


E così dovrebbe andare solo se si seleziona su la prima CBC e la seconda PKCS7 ma per tutte le altre combinazioni?? non è che posso stare a scrivere 2000 if... ecco il problema
aaa
22/07/11 15:23
Nullable
Potresti usare un enumeratore per il PaddingMode e il CipherMode.
aaa