2012-02-17 17 views
5

Aby zapewnić dodatkowe bezpieczeństwo, aby adresy e-mail pozostały prywatne w projekcie, nad którym pracuję, chciałabym, aby wszystkie wiadomości e-mail przechowywane w naszej bazie danych były zaszyfrowane. Jednakże korzystamy z dostawcy członkostwa Asp.Net, a wiadomości e-mail są wyświetlane w postaci czystego tekstu w kolumnie E-mail tabeli aspnet_Membership. Czy jest na to sposób? Idealnie, w prosty sposób.Czy istnieje możliwość zaszyfrowania adresów e-mail w ApplicationServices DB?

+1

Nie ma nic prostego w szyfrowaniu. Nie ze względu na szyfrowanie ... jeśli zaszyfrujesz e-maile, będziesz musiał chronić swój sekret lub zarządzać kluczami. Czy myślałeś o tym, jak to zrobisz? –

+0

@EstebanAraya: Cóż, wiem, że nie ma idealnego rozwiązania, ale po prostu planowałem umieścić klucze w kodzie. Po skompilowaniu nie jest tak oczywiste, aby je znaleźć. Ponadto, nie jest tak, ponieważ ktoś ma dostęp do bazy danych, że dana osoba ma dostęp do bibliotek DLL. –

Odpowiedz

2

Utworzę niestandardowego dostawcę i po prostu dodaję niewielką ilość kodu do zaszyfrowania adresu e-mail.

wydali źródło dla dostawcy ASP.net

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

jeśli pobrać ProviderToolkitSamples.msi

obsługi SQLMembershipProvider.cs dla dostawcy członkostwa na linii 366 jest przechowywanie e-mail adres, który możesz zaszyfrować przed wywołaniem procedury składowanej insert.

Będziesz także potrzebował odszyfrować go podczas pobierania z DB.

Oto dobry artykuł na temat szyfrowania. Upewnię się, że włączysz sól z adresem e-mail, aby był bezpieczniejszy.

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

nadzieję, że pomoże!

+0

Dzięki za linki! Bardzo pomocne! –

Powiązane problemy