C#方法保护我的数据库凭据

时间:2016-12-30 17:55:17

标签: c#

我目前正在使用ConfigurationManager保护我的凭据

 string _conStr = ConfigurationManager.ConnectionStrings["fluxConnection"].ConnectionString;

我想知道是否有更好的方法来保护我的服务器凭据,甚至不值得尝试突破。我已经看到有些人通过那里的网站使用api来检索凭据或类似的东西。但不确定这甚至会起作用。

2 个答案:

答案 0 :(得分:2)

这一切都取决于你关注的程度。

0级:什么都不做

大多数人将凭据添加到网络/应用配置中的连接字符串,这已经足够了。窃取凭据的唯一人是已经可以访问服务器的人。

第1级:加密

要保护那些为您工作的人员的凭据,可以加密连接字符串:See MSDN for Connection String Encryption

第3级:自定义

您可以创建一个Web API Restful Web Service,从另一个数据库中读取加密的数据库凭据,并以加密形式将其返回给您。然后,您可以从代码中调用Web服务,解密为您提供的凭据,从而构建连接字符串。

答案 1 :(得分:0)

鉴于你的意见:

  

但我确实计划在我完成时购买服务器

除了加密连接字符串外,该实际配置文件不是您开始保护环境的地方。基本上,应用程序确实需要连接。因此,在某些时候,即使使用远程API(您需要...连接设置..),字符串必须在某处可用。

我的建议:

在部署期间更改配置设置。这样,生产信息就不会出现在开发环境中。

我希望您的生产环境旁边有大量其他安全措施,最终到达配置文件。

实现这一目标的基本系统的一个很好的例子是Octopus Deploy