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

时间:2010-07-30 18:20:31

标签: .net frameworks connection-string

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

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

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

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

2 个答案:

答案 0 :(得分:5)

读:

Encrypting Configuration Information in ASP.NET 2.0 Applications

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

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

aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" 

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

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

我有一个small utility on my SkyDrive附带完整的.NET源代码,它向您展示如何加密任何.NET配置文件的任何部分。您可以随意检查出来,并以您认为合适的方式使用它。

答案 1 :(得分:3)