你在哪里存储你的连接字符串?

abh*_*bhi 2 .net frameworks connection-string

在我的所有VB6应用程序中,连接信息都存储在数据库中的加密字段中.没有人可以访问数据库,如果有人这样做,他们只能看到一堆加密值.

这种方法总是存在缺陷.使用应用程序中的硬编码ID /密码获取所需的连接信息,以获取此连接信息并形成字符串.

在.NET世界中,我目前将这个硬编码的id /密码存储在app.exe.config文件中.推荐的方法是加密文件中的连接字符串?

我可以使用哪些类来执行此加密/解密?

mar*_*c_s 5

读:

加密ASP.NET 2.0应用程序中的配置信息

基本上,ASP.NET基础结构具有加密所需的工具,并且.NET配置子系统知道如何在需要时解密 - 因此实际上已经存在所有内容,随时可供您使用!

要加密,您可以使用该aspnet_regiis实用程序,如下所示:

aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" 
Run Code Online (Sandbox Code Playgroud)

对于解密 - 无需任何操作,.NET会为您透明地处理这个问题.

更新:适用于所有 .NET的机制- 它们是.NET的基本基础结构的一部分.您可以将这些技术和配方用于控制台应用程序或Windows服务.Microsoft仅为ASP.NET案例提供工具来加密web.config的各个部分 - 但API和调用是供大家在任何类型的.NET应用程序中使用的 - 自己完成,从控制台应用程序到一个Windows服务.

我的SkyDrive上有一个小实用程序,它带有完整的.NET源代码,向您展示如何加密任何.NET配置文件的任何部分.随意检查出来并以您认为合适的方式使用它.