DexterELEL (Normal User)
Pro
Messaggi: 67
Iscritto: 05/01/2011
|
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
Codice sorgente - presumibilmente Delphi |
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 il 22/07/2011 alle 14:17 |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
Usa l'operatore logico &&.
EDIT: Ti consiglio di utilizzare la proprietà SelectedItem al posto di Text.
Ultima modifica effettuata da Nullable il 22/07/2011 alle 14:51 |
|
DexterELEL (Normal User)
Pro
Messaggi: 67
Iscritto: 05/01/2011
|
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 il 22/07/2011 alle 16:08 |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
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 il 22/07/2011 alle 16:34 |
|
DexterELEL (Normal User)
Pro
Messaggi: 67
Iscritto: 05/01/2011
|
praticamente ad ogni combobox1.SelectedItem il CipherMode deve assegnare la cosa giusta
Codice sorgente - presumibilmente C# |
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???
|
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
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 ?
|
|
DexterELEL (Normal User)
Pro
Messaggi: 67
Iscritto: 05/01/2011
|
Certamente allora:
Codice sorgente - presumibilmente C# / VB.NET |
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'è)
Codice sorgente - presumibilmente 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...
Codice sorgente - presumibilmente C# |
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 |
|
Nullable (Normal User)
Expert
Messaggi: 217
Iscritto: 12/07/2011
|
Potresti usare un enumeratore per il PaddingMode e il CipherMode.
|
|
DexterELEL (Normal User)
Pro
Messaggi: 67
Iscritto: 05/01/2011
|
Forse ancora non hai capito il problema non sono il Cipher o il PaddingMode sono le ComboBox che non riesco a gestire...
|
|