加密app.config中的连接字符串,以便它可以在不同的系统上工作

zex*_*oor 5 c# encryption

我用这篇文章来加密我的app.config。问题是,当我在另一台计算机上测试该应用程序时,该系统无法解密连接字符串。

我也在MSDN上阅读了这篇文章,并注意到

连接字符串只能在对其进行加密的计算机上解密。

现在如何加密连接字符串app.config

Web*_*ter 4

正如您提到的,您需要 appconfig 的解决方案。您可以轻松应用与 web.config 相同的解决方案,只需将 app.config 重命名为 web.config,使用 aspnet_regiis 工具加密,然后将其重命名回 app.config。

  1. 将 app.config 重命名为 web.config
  2. 打开命令提示符并键入: %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pef "connectionStrings" c:\folder 包含您的 web.config (停止在文件夹级别,不要将尾部“\ ”)
  3. 将 web.config 重命名回 app.config

您可以用记事本打开它来查看加密文件。在 Visualstudio 中你会看到它被解密。您可以像未加密一样使用连接字符串。

  • 但是 `aspnet_regiis` 使用 DPAPI 作为“本地密钥”ia 只能在该特定计算机上运行,​​并且只能在 Windows 计算机上运行。 (2认同)
  • 但它甚至不适用于 Windows,它仅适用于一台当前的 Windows 计算机,不适用于问题标题中所述的“..不同系统...”。 (2认同)