2012-02-17 11 views
5

Per ulteriore sicurezza per mantenere privati ​​gli indirizzi e-mail in un progetto su cui sto lavorando, vorrei che tutte le e-mail memorizzate nel nostro database fossero crittografate. Tuttavia, stiamo utilizzando il provider Membership di Asp.Net e le e-mail sono visualizzate in chiaro nella colonna Email della tabella aspnet_Membership. È il loro modo per raggiungere questo obiettivo? Idealmente, un modo semplice.È possibile crittografare gli indirizzi e-mail nel database ApplicationServices?

+1

Non c'è niente di semplice nella crittografia. Non a causa della crittografia stessa ... se crittografate le e-mail dovrete proteggere il vostro segreto o gestire le vostre chiavi. Hai pensato a come farai uno di quelli? –

+0

@EstebanAraya: Beh, so che non esiste una soluzione perfetta, ma stavo semplicemente pianificando di inserire le chiavi nel codice. Una volta compilato, non è così ovvio trovarli. Inoltre, non è perché qualcuno ha accesso al database che quella persona ha accesso alle DLL. –

risposta

2

Vorrei creare un fornitore personalizzato e aggiungere semplicemente la piccola quantità di codice per crittografare l'indirizzo email.

hanno rilasciato sorgente per il provider di ASP.net

http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx

se si scarica il ProviderToolkitSamples.msi

Utilizzare i SQLMembershipProvider.cs per il provider di appartenenze on line 366 si sta memorizzando l'e-mail indirizzo è possibile crittografarlo prima di chiamare la stored procedure inserita.

sarà inoltre necessario decrittografarlo quando lo si recupera dal DB.

Ecco un buon articolo su Crittografia. Mi assicurerei di includere un Salt con l'indirizzo di posta elettronica in modo che sia più sicuro.

http://hectorcorrea.com/blog/Encrypt-and-Decrypt-a-string-in-C-Sharp

Speranza che aiuta!

+0

Grazie per i collegamenti! Molto utile! –

Problemi correlati