2009-05-20 12 views

risposta

4

Se questo è un connectionString che verrà configurato e utilizzato su un singolo computer (non condiviso tra più computer) da un'istanza dell'applicazione, è possibile utilizzare il .NET gestite involucro del DPAPI (Data Protection API) - ProtectedData class (System.Security.Cryptography).

Un trucco si potrebbe anche usare (se si decide di utilizzare questa classe) è quello di creare metodi di estensione per la codifica e la decodifica di una stringa, quindi le operazioni diventano semplici come:

string encodedString = myConnectionString.EncodeString(); 

string decodedString = encodedString.DecodeString(); 

Spero che questo aiuti !

+1

Ma in questo approccio il file di configurazione sul server ha le stringhe di connessione in chiaro e va ai client in testo chiaro attraverso il filo, corretto? E quando dovrei fare la crittografia/decodifica in uno scenario clickOnce? –

+0

Ah, capisco. Vorrei verificare alcune delle altre classi System.Security.Cryptography che sono disponibili per vedere se è possibile crittografare la stringa di connessione utilizzando una sorta di chiave pre-condivisa e decrittografarla sull'app client utilizzando la stessa chiave. http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx Buona fortuna! – Pwninstein

Problemi correlati