作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要知道在 VB.NET 中存储 WinForms 应用程序的 SQL 服务器连接字符串的常用方法是什么。
我在网上搜索并找到了以下每个问题的答案:
我想要一个完整的答案,了解如何在 app.config
(或 settings.settings
,如果更好)中安全地存储 VB.NET 中的连接字符串。
app.config
位置正确吗?我可以加密这些值吗?
最佳答案
简单地说,.net 框架允许您做到这一点,请参阅
http://msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx
相关信息:
这会进入machine.config文件:
<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
<providers>
<add name="RsaProtectedConfigurationProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, ... />
<add name="DataProtectionConfigurationProvider"
type="System.Configuration.DpapiProtectedConfigurationProvider, ... />
</providers>
</configProtectedData>
这是应用程序代码:
Shared Sub ToggleConfigEncryption(ByVal exeConfigName As String)
' Takes the executable file name without the
' .config extension.
Try
' Open the configuration file and retrieve
' the connectionStrings section.
Dim config As Configuration = ConfigurationManager. _
OpenExeConfiguration(exeConfigName)
Dim section As ConnectionStringsSection = DirectCast( _
config.GetSection("connectionStrings"), _
ConnectionStringsSection)
If section.SectionInformation.IsProtected Then
' Remove encryption.
section.SectionInformation.UnprotectSection()
Else
' Encrypt the section.
section.SectionInformation.ProtectSection( _
"DataProtectionConfigurationProvider") 'this is an entry in machine.config
End If
' Save the current configuration.
config.Save()
Console.WriteLine("Protected={0}", _
section.SectionInformation.IsProtected)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Sub
更新1
感谢@wpcoder this link
关于.net - 如何在 WinForms 应用程序中安全地存储连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606892/
我是一名优秀的程序员,十分优秀!