加密和解密.net配置节
生活随笔
收集整理的這篇文章主要介紹了
加密和解密.net配置节
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public static class ProtectConfigFileUtil
{
/// <summary>
/// 加密配置節示例,加密 ConnectionStrings 和 AppSettings
/// </summary>
[Obsolete("這個方法只是示例")]
public static void ProtectConnectionStringsAndAppSettings(HttpContext context)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(context.Request.ApplicationPath);
//' Define the Dpapi provider name.
String provider = "DataProtectionConfigurationProvider";
ProtectSection(config.ConnectionStrings, provider);
ProtectSection(config.AppSettings, provider);
config.Save(System.Configuration.ConfigurationSaveMode.Modified);
}
/// <summary>
/// 加密一個配置節
/// </summary>
/// <param name="section"></param>
/// <param name="provider"></param>
/// <returns></returns>
public static bool ProtectSection(ConfigurationSection section, String provider)
{
if (section != null
&& !section.SectionInformation.IsProtected
&& !section.ElementInformation.IsLocked)
{
// ' Protect the section.
section.SectionInformation.ProtectSection(provider);
section.SectionInformation.ForceSave = true;
return true;
}
return false;
}
/// <summary>
/// 解密一個配置節
/// </summary>
/// <param name="section"></param>
/// <returns></returns>
public static bool UnprotectSection(ConfigurationSection section)
{
if (section != null
&& !section.SectionInformation.IsProtected
&& !section.ElementInformation.IsLocked)
{
// ' Protect the section.
section.SectionInformation.UnprotectSection();
section.SectionInformation.ForceSave = true;
return true;
}
return false;
}
}
{
/// <summary>
/// 加密配置節示例,加密 ConnectionStrings 和 AppSettings
/// </summary>
[Obsolete("這個方法只是示例")]
public static void ProtectConnectionStringsAndAppSettings(HttpContext context)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(context.Request.ApplicationPath);
//' Define the Dpapi provider name.
String provider = "DataProtectionConfigurationProvider";
ProtectSection(config.ConnectionStrings, provider);
ProtectSection(config.AppSettings, provider);
config.Save(System.Configuration.ConfigurationSaveMode.Modified);
}
/// <summary>
/// 加密一個配置節
/// </summary>
/// <param name="section"></param>
/// <param name="provider"></param>
/// <returns></returns>
public static bool ProtectSection(ConfigurationSection section, String provider)
{
if (section != null
&& !section.SectionInformation.IsProtected
&& !section.ElementInformation.IsLocked)
{
// ' Protect the section.
section.SectionInformation.ProtectSection(provider);
section.SectionInformation.ForceSave = true;
return true;
}
return false;
}
/// <summary>
/// 解密一個配置節
/// </summary>
/// <param name="section"></param>
/// <returns></returns>
public static bool UnprotectSection(ConfigurationSection section)
{
if (section != null
&& !section.SectionInformation.IsProtected
&& !section.ElementInformation.IsLocked)
{
// ' Protect the section.
section.SectionInformation.UnprotectSection();
section.SectionInformation.ForceSave = true;
return true;
}
return false;
}
}
轉載于:https://www.cnblogs.com/illusion/archive/2011/04/14/2015574.html
總結
以上是生活随笔為你收集整理的加密和解密.net配置节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 1846 Brave Game
- 下一篇: mapreduce 算法