这篇文章主要介绍了C#加密app.config中连接字符串的方法,涉及C#配置文件加密的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下:
本文实例讲述了C#加密app.config中连接字符串的方法。分享给大家供大家参考。具体如下:
连接字符串中包含数据库的访问信息,帐号和密码,因此一般不以明文显示,本代码用来加密连接字符串。
public
static
class
EncryptConnection
{
public
static
void
EncryptConnectionString(
bool
encrypt)
{
Configuration configFile =
null
;
try
{
// Open the configuration file and retrieve the connectionStrings section.
configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection configSection = configFile.GetSection(
"connectionStrings"
)
as
ConnectionStringsSection;
if
((!(configSection.ElementInformation.IsLocked)) && (!(configSection.SectionInformation.IsLocked)))
{
if
(encrypt && !configSection.SectionInformation.IsProtected)
//encrypt is false to unencrypt
{
configSection.SectionInformation.ProtectSection(
"DataProtectionConfigurationProvider"
);
}
if
(!encrypt && configSection.SectionInformation.IsProtected)
//encrypt is true so encrypt
{
configSection.SectionInformation.UnprotectSection();
}
//re-save the configuration file section
configSection.SectionInformation.ForceSave =
true
;
// Save the current configuration.
configFile.Save();
}
}
catch
(System.Exception ex)
{
throw
(ex);
}
finally
{
}
}
}