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?
Odpowiedz
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!
Dzięki za linki! Bardzo pomocne! –
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? –
@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. –