【问题标题】:Is it possible to have email addresses encrypted in ApplicationServices DB?是否可以在 ApplicationServices DB 中加密电子邮件地址?
【发布时间】:2012-03-09 00:44:45
【问题描述】:

为了在我正在从事的项目中保持电子邮件地址的私密性,我希望对存储在我们数据库中的所有电子邮件进行加密。但是,我们使用的是 Asp.Net Membership 提供程序,并且电子邮件以明文形式显示在表 aspnet_Membership 的电子邮件列中。他们的方法是实现这一目标吗?理想情况下,一种简单的方法。

【问题讨论】:

  • 加密并不简单。不是因为加密本身……如果您加密电子邮件,您将不得不保护您的秘密或管理您的密钥。你有没有想过你会怎么做?
  • @EstebanAraya:嗯,我知道没有完美的解决方案,但我只是打算将密钥放入代码中。编译后,找到它们就不是那么明显了。此外,并不是因为某人有权访问数据库,所以该人有权访问 DLL。

标签: asp.net security asp.net-membership


【解决方案1】:

我会创建一个自定义提供程序,然后添加少量代码来加密电子邮件地址。

他们发布了 ASP.net Provider 的源代码

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

如果您下载 ProviderToolkitSamples.msi

使用第 366 行的成员资格提供程序的 SQLMembershipProvider.cs 存储电子邮件地址,您可以在调用插入存储过程之前对其进行加密。

在从数据库中检索它时,您还需要对其进行解密。

这是一篇关于加密的好文章,我会确保您在电子邮件地址中包含一个 Salt,以便它更安全。

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

希望有帮助!

【讨论】:

  • 感谢您的链接!很有帮助!
猜你喜欢
  • 1970-01-01
  • 2016-02-21
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 2020-06-08
相关资源
最近更新 更多