在没有解密的情况下加密app.config connectionStrings

时间:2017-02-28 18:15:49

标签: c# visual-studio encryption app-config aspnet-regiis.exe

我知道这可能是一个老问题,关于这个问题有很多讨论,但所有答案都没有帮助我,因为还有解密方法

我想加密app.config文件,所以没有人能看到我的stringConnections
我知道用

aspnet_regiis -pef "connectionStrings" <"path">

将app.config更改为web.config并在加密后再次重命名

但因为它的Windows应用程序意味着加密的app.config将在app目录中 所以,每个可以访问它的人,只需每个人都可以使用

解密它
aspnet_regiis -pdf "connectionStrings" <"path"> <br>

所以,我怎么能以某种方式保护它,没有人可以解密它,只有我的应用程序可以使用它

1 个答案:

答案 0 :(得分:1)

坏消息:您在这里遇到了麻烦,因为您选择的地点可供您的应用以及访问同一位置的所有人和应用访问。这意味着:如果您的应用可以解密您的连接字符串,则其他所有人都可以访问加密数据。

好消息:我遇到了同样的问题,并通过更改配置数据所在的位置(包括我的连接字符串)解决了这个问题。我将信息从web.config移动到配置服务中。这样我的应用程序就可以访问该服务,就像其他应用程序和个人一样,但只有我的应用程序可以提供正确的身份验证。

本质上:加密/解密可能不是您需要的解决方案,但授权是另一种选择:限制访问。