为了在我正在处理的项目中保持电子邮件地址私密性的额外安全性,我希望将所有存储在我们数据库中的电子邮件加密。但是,我们使用的是Asp.Net成员资格提供程序,并且电子邮件以明文形式显示在表aspnet_Membership的“电子邮件”列中。他们的方式是实现这一目标吗?理想情况下,这是一种简单的方式。
答案 0 :(得分:2)
我会创建一个自定义提供程序,只需添加少量代码即可加密电子邮件地址。
他们发布了ASP.net提供商的来源
http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx
如果您下载ProviderToolkitSamples.msi
在第366行使用SQLMembershipProvider.cs作为成员资格提供程序,它将存储您可以在调用插入存储过程之前加密它的电子邮件地址。
在从DB中检索它时,您还需要解密它。
这是一篇关于加密的好文章我会确保你在电子邮件地址中包含一个Salt,以便它更安全。
http://hectorcorrea.com/blog/Encrypt-and-Decrypt-a-string-in-C-Sharp
希望有所帮助!