如何在C#.Net 4.6中隐藏ConnectionString WPF应用程序

问题描述:

我有简单的WPF应用程序与SQL Server一起工作。什么加密algorythm我必须用来隐藏连接字符串从WPF应用程序用户?请不要提供中间件层应用程序。如何在C#.Net 4.6中隐藏ConnectionString WPF应用程序

MSDN中有一个article用于保护您的连接信息。

关于如何使用受保护的配置加密配置文件的深入发现here

要点:

使用Windows身份验证

为了帮助您的数据源限制访问,则必须安全连接 信息,如用户ID,密码和数据源名称。为了避免暴露用户信息,我们建议使用Windows 身份验证(有时称为集成安全性),无论哪里可以使用 。通过使用集成安全性或Trusted_Connection关键字 ,在连接字符串 中指定Windows身份验证,无需使用用户标识和密码。在使用Windows 身份验证时,Windows将对用户进行身份验证,并且通过授予对 Windows用户和组的权限来确定访问 服务器和数据库资源。对于 不可能使用Windows身份验证的情况,您必须格外小心,因为用户的 凭证会显示在连接字符串中。在ASP.NET 应用程序中,可以将Windows帐户配置为用于连接到数据库和其他网络资源的固定标识 。您可以使用 在web.config文件 中的标识元素中启用模拟,并指定用户名和密码。固定身份帐户应该是在数据库中仅被授予必要权限 的低权限帐户。此外,您应该加密配置文件 ,以便用户名和密码不会以明文显示。

加密的配置文件

您还可以存储在配置文件中,这 无需将它们嵌入在应用程序代码连接字符串。 配置文件是标准的XML文件,.NET Framework定义了一组公共的元素。 配置文件中的连接字符串通常存储在 元素的app.config中,用于Windows 应用程序或ASP.NET应用程序的web.config文件。有关 的更多信息,请参阅连接字符串 和配置文件。