存储ConnectionString的CipherValue

时间:2016-02-10 19:12:42

标签: vb.net winforms

我无法将连接字符串设为CipherValue。我已阅读microsoft library,但有点难以理解。这是我到目前为止所做的。

的app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="myDatabase" connectionString="Server={hostname};Initial Catalog={database};User ID={username};Password={password};"/>
  </connectionStrings>
</configuration>

在我的设计师中,我有4个主机名,数据库,用户名和密码输入,1个记住我复选框和连接按钮。我想使connectionString =“ACipherValue”来保护数据库凭据。到目前为止我在连接按钮点击事件中的内容是:

Dim connString = ConfigurationManager.ConnectionStrings("users").ConnectionString

connString = connString.Replace("{hostname}", txtHostname.Text)
connString = connString.Replace("{database}", txtDatabase.Text)
connString = connString.Replace("{username}", txtUsername.Text)
connString = connString.Replace("{password}", txtPassword.Text)

MsgBox(connString.ToString)

消息框显示连接到我的数据库的正确连接字符串。我的问题是我不知道如何将 app.config 连接字符串更新为CipherValue。是否有可能或者我应该尝试另一种方法?

2 个答案:

答案 0 :(得分:0)

使用Microsoft推荐的方法,使用aspnet_regiis工具。

Secure connection strings in web.config

答案 1 :(得分:0)

你的问题是,是否有可能。我可以这样做。

一种方法是将您的数据作为加密的CipherValues存储在app.config中,然后在使用前解密CipherValues。