3

我目前有一个 ASP.NET 网站,它的 web.config 文件中有一个加密的连接字符串。这些设置位于常规 AppSettings 部分,而不是 ConnectionString 部分。在应用程序代码中,我们根据需要在运行时手动解密连接字符串。

在重构站点时,我遇到了 Microsoft 曾经建议的一种方法,该方法涉及运行aspnet_regiis命令,以便将加密数据直接插入 web.config 文件的 ConnectionString 部分。这个建议的方法现在被认为是退休内容,尽管它没有说明原因(除了一些链接可能不再有效的小参考)。

这是我所指的站点:
如何:使用 DPAPI 加密 ASP.NET 2.0 中的配置部分

我的问题基本上是——我是否应该费心重构现有功能以使用微软曾经推荐的方式?我相信它会比目前的流程更有效率。另外,为什么这种方法会被视为已停用的内容?有没有更好的方法来做到这一点,而不是我的网站支持加密/解密方法?

我已经在 Google 和 StackOverflow 上搜索了其他方法,但它们似乎都指的是微软的方式——或者我目前实现它的方式。

4

2 回答 2

1

Maybe the site/doc you're referring to is marked as obsolete, but the technology behind is not. Here are the official links, not marked as obsolete:

I would definitely use this technology.

于 2012-07-26T07:28:49.600 回答
0

我猜他们说该文档被视为已停用的内容,因为它是为 .NET 2.0 框架编写的。话虽如此,正如西蒙所说,它背后的技术仍然很好用。

用于加密 web.config 文件的aspnet_regiis好处是它对应用程序是透明的。您可以编写逻辑,假设 appSettings 或 connectionStrings 部分未加密,如果使用此方法对它们进行加密,.NET 框架将在为您提供值之前对它们进行解密。

使用此方法要记住的一件事是它将加密整个 appSettings 部分。如果您在加密后打开 web.config,您将看不到任何密钥,而只会看到一大块加密的数据。

于 2012-07-31T16:45:46.907 回答