2012-02-17 29 views
5

Để bảo mật thêm để giữ địa chỉ email ở chế độ riêng tư trong dự án tôi đang làm việc, tôi muốn tất cả các email được lưu trữ trong cơ sở dữ liệu của chúng tôi được mã hóa. Tuy nhiên, chúng tôi đang sử dụng nhà cung cấp thành viên Asp.Net và email xuất hiện trong văn bản rõ ràng trong cột Email của bảng aspnet_Membership. Là cách của họ để đạt được điều này? Lý tưởng nhất, một cách đơn giản.Có thể có địa chỉ email được mã hóa trong ApplicationServices DB không?

+1

Không có gì đơn giản về mã hóa. Không phải vì bản thân mã hóa ... nếu bạn mã hóa các email, bạn sẽ phải bảo vệ bí mật hoặc quản lý khóa của mình. Bạn đã nghĩ về cách bạn sẽ làm một trong những người? –

+0

@EstebanAraya: Vâng, tôi biết không có giải pháp hoàn hảo, nhưng tôi chỉ đơn giản là lập kế hoạch để đặt các phím trong mã. Sau khi biên soạn, nó không phải là rõ ràng để tìm thấy chúng. Ngoài ra, không phải vì ai đó có quyền truy cập vào cơ sở dữ liệu mà người đó có quyền truy cập vào các tệp DLL. –

Trả lời

2

Tôi sẽ tạo nhà cung cấp tùy chỉnh và chỉ cần thêm một lượng nhỏ mã để mã hóa địa chỉ email.

họ phát hành mã nguồn cho các nhà cung cấp ASP.net

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

nếu bạn tải về ProviderToolkitSamples.msi

Sử dụng SQLMembershipProvider.cs cho nhà cung cấp thành viên trên đường dây 366 nó được lưu trữ email địa chỉ bạn có thể mã hóa nó trước khi gọi thủ tục lưu trữ chèn.

bạn cũng sẽ cần phải giải mã nó khi truy xuất nó từ DB.

Đây là một bài viết hay về Mã hóa Tôi sẽ đảm bảo bạn bao gồm một Muối có địa chỉ email để an toàn hơn.

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

Hy vọng điều đó sẽ hữu ích!

+0

Cảm ơn bạn đã liên kết! Rất hữu ích! –

Các vấn đề liên quan