Questo articolo illustra come testare il sistema di Crittografia che abbiamo progettato e realizzato nel post precedente, mostrando come usarlo all’interno di una applicazione WPF.
Introduzione
Nel precedente articolo, disponibile QUI, abbiamo implementato in una delle nostre librerie di uso comune unaclasse helper che permette di crittografare e decrittografare stringhe. Vediamo come testarne l’uso in una applicazione WPF. Premetto che essendo lo scopo dell’applicazione testare le funzionalità di crittografia, non è da prendersi in considerazione come esempio brillante di applicazione WPF vi rimandiamo al precedente articolo relativo al test del sistema di Log dove trovate la spiegazione dettagliata per i beginners e per chi sta passando a WPF da Winforms di quello che abbiamo modificato nelle classi fornite dal template base di Visual Studio per ottenere il nostro progetto di test.
La soluzione
Anche in questo caso, come nel precedente progetto abbiamo implementato il sistema di Log per l’applicazione, la finestra di test è molto semplice:
Abbiamo due Textbox, una per inserire una stringa e crittografarla, l’altra per l’operazione contraria. E due Button che svolgono il compito richiesto. Vediamone il codice
//Codice di crittografia try { if (!this.txtVisible.Text.XDwIsNullOrTrimEmpty()) { string hidden = EncDec.Encrypt(this.txtVisible.Text); this.txtResult.Text = "The hidden string is:" + Environment.NewLine + hidden + Environment.NewLine + this.txtResult.Text; this.txtStatus.Text = "The string has been hidden"; } else { MessageBox.Show("You Have to write a string in the Visible field to hide it"); } } catch (Exception ex) { EventLogger.SendMsg(ex); MessageBox.Show(ex.Message, "More information in the log file!", MessageBoxButton.OK, MessageBoxImage.Error); } //Codice di decrittografia try { if (!this.txtHidden.Text.XDwIsNullOrTrimEmpty()) { string visible = EncDec.Decrypt(this.txtHidden.Text); this.txtResult.Text = "The visible string is:" + Environment.NewLine + visible + Environment.NewLine + this.txtResult.Text; this.txtStatus.Text = "The string has been made visible"; } else { MessageBox.Show("You Have to write a hidden string in the Hidden field to hide it"); } } catch (Exception ex) { EventLogger.SendMsg(ex); MessageBox.Show(ex.Message, "More information in the log file!", MessageBoxButton.OK, MessageBoxImage.Error); }
La chiamata alla nostra classe helper è molto semplice, una sola riga di codice per nascondere o mostrare una stringa. Di seguito lo screencast che mostra l’interfaccia in azione.
Nel webcast, oltre a mostrare come i dati vengono crittografati e decrittografati, vediamo anche cosa succede se si verifica un errore e come viene memorizzato dal sistema di Log da noi creato nei post precedenti.
Il codice del progetto esempio è disponibile al link seguente:
Companion code, Crittografare e decrittografare dati in C#
Le librerie di uso comune usate dove abbiamo inserito le classi helper di crittografia sono disponibili al link seguente: