lunedì 11 luglio 2011

Un crittografati tipo di dati String per Visual Studio LightSwitch 2° parte


DI Joe Kunk

Forse avete già notato che questo è un linguaggio C # soluzione; una versione Visual Basic del BlankExtension - progetto BizType non è disponibile.

Successivamente, modificare il progetto per individuare l'estensione in Extension Manager visivo Studio. Nel file BlankModule.cs del progetto BlankModule.Common, modificare il nome della costante da "Blank" a "EncryptedStringBizType" source.extension.vsixmanifest e modificare il file, come mostrato nella Figura 3. Il campo ID deve corrispondere al nome costante e il nome del valore del prodotto del campo deve essere unico per tutte le estensioni, come sarà la cartella in cui l'estensione verrà installata. Il percorso in cui sono installate le estensioni in Windows 7 è C: \ Users \ {username} \ AppData \ Local \ Microsoft \ VisualStudio \ 10.0 \ Extensions \ {VSIX Autore} \ {Nome Prodotto VSIX} \ 1.0 \. Questo deve tradursi in un percorso univoco per ogni estensione da installare.



[Clicca sull'immagine per ingrandirla.]
Figura 3. Modifica della vsixmanifest nel progetto Blank.Vsix.

Per avere il file VSIX rispecchiare l'identità della proroga, cambiare il nome di Assemblea "EncryptedStringBizType.Vsix" nella scheda Applicazione della pagina delle proprietà del progetto Blank.Vsix. Lasciare lo spazio dei nomi predefinito come Blank.Vsix. Anche modificare la proprietà Nome modulo a "EncryptedStringBizType" nel file BlankModule.lsml nella cartella metadati del progetto Blank.Common. Ecco il codice:

 

Rimuovere il

Questo è sufficiente per l'estensione del tipo di business di essere unico nella Gestione visiva Extension Studio. Da questo punto in avanti è possibile verificare l'estensione in qualsiasi momento la disinstallazione di qualsiasi versione precedente di Gestione visiva Extension Studio, e facendo doppio clic sul file nel cestino EncryptedString.vsix rilascio cartella \ del progetto Blank.vsix per installarlo.

Successivamente, modificare il nome dell'estensione nella soluzione del "MyBusiness" dell'esempio Cookbook a "EncryptedString" utilizzando una ricerca globale e sostituire tutta l'intera soluzione. Compilare la soluzione per garantire i cambiamenti non hanno alcuna errori. Nella mia esperienza, ci sono stati 51 i cambiamenti e nessun errore creato.

Quindi, rimuovere le convalide che sono stati inseriti nel vuoto-Solution come parte del campione MyBusiness. Vai alla scheda MyBusinessValidator.cs del progetto Blank.Client e commentare il contenuto del metodo Validate nella classe EncryptedStringValidator. Questo eliminerà la restrizione del campione MyBusiness che il campo criptato non può che essere al massimo 15 caratteri di lunghezza.

Infine, si aggiunge il progetto Visual Basic che conterrà la nostra logica di business crittografati String. Aggiungi un Visual Basic Silverlight 4 libreria di classi alla soluzione e denominarlo EncryptedString.

Rinominare il file di classe generato automaticamente e il nome della classe per EncryptedString, come mostrato nella Figura 4.


[Clicca sull'immagine per ingrandirla.]
Figura 4. Aggiunta del progetto EncryptedString.vb.

Successivamente, modificare la classe EncryptedString per fornire la crittografia stringa e servizi decifratura al controllo editor. La password di crittografia è basata sul GUID del progetto EncryptedString. Anche se questo è conveniente come una password per fini del presente articolo, per la migliore sicurezza dei dati crittografati, è necessario modificare la classe EncryptedString di ottenere il GUID da una fonte al di fuori dell'applicazione. Cambiare il GUID nel file AssemblyInfo.vb del EncryptedString progetto di Visual Basic e ri-compilare la soluzione cambiare la password di download del codice per qualche sicurezza.

Il metodo Rfc2898DeriveBytes implementa chiave che si estende in base alla password-Based funzione di derivazione chiave (PBKDF2) e viene applicato 10.000 volte al GUID per rendere fessurazione la password molto più difficile. Questo processo genera una pseudo-casuale chiave e vettore di inizializzazione, o IV, per l'utilizzo come le chiavi crittografiche nei metodi EncryptString e DecryptString in EncryptedString.vb.

Nello spirito della parità delle lingue, ho implementato la funzionalità identiche in C #. Ho anche aggiornato il file BlankModule.cs nel progetto Blank.Common per riflettere questa funzionalità. Le istruzioni necessarie utilizzando sono inclusi nella lista on-line come i commenti.


Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla



Nessun commento:

Posta un commento