如何加密sql server中的数据并在.net应用程序中解密它

时间:2010-07-08 09:01:44

标签: c# .net sql-server-2008

我想在sql server中加密一些密码并让c#app解密它们。

显然我可以创建一个SP来为我解密所需的密码并将其传递给c#app,但这意味着通过网络发送明文密码。

所以我希望能够在sql server中加密我的密码(使用密码,证书等),这可以传递给我的c#apps,然后知道如何解密并使用它。

我认为这必须是可能的(可能使用证书),但不确定从哪里开始。

如果有新的方法,可以使用.net 4和sql server 2008。

提前感谢您的建议。

3 个答案:

答案 0 :(得分:3)

您可以在.NET(2.0)中创建加密/解密程序集并将其部署到SQL Server吗?这是我看到你如何使用相同的算法/机制来加密/解密数据的唯一方法。

使用加密/解密创建.NET程序集,将其部署到SQL Server,在那里使用它来加密数据,并使用相同的程序集/相同的.NET代码来解密.NET应用程序中的数据。

答案 1 :(得分:3)

绝不加密密码!

密码应该加盐和散列 - 这是系统安全性的第一条规则。

答案 2 :(得分:0)

我们创建了这个功能,这是一个在代码中使用并部署在服务器上的程序集。但是,我们遇到了内存压力问题。该服务器是双四核服务器,具有24 GB内存,64位操作系统和32位sql服务器。启用AWE,sql的进程优先,并将19gb的内存分配给sql。 这是我们唯一的程序集,我们在日志文件中遇到大量错误。我是扩展系统的忠实粉丝,然而,这看起来像是一个黑客。为什么我们使用其中一个?为什么不两个?