System.Configuration.DpapiProtectedConfigurationProvider 类
方法描述
提供一个使用 Windows 数据保护 API (DPAPI) 来加密和解密配置数据的 ProtectedConfigurationProvider。
语法定义(C# System.Configuration.DpapiProtectedConfigurationProvider 类 的用法)
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")] public sealed class DpapiProtectedConfigurationProvider : ProtectedConfigurationProvider
构造函数
构造函数名称 | 构造函数描述 |
---|---|
DpapiProtectedConfigurationProvider | 使用默认设置初始化 DpapiProtectedConfigurationProvider 类的新实例。 |
成员/方法
方法名称 | 方法描述 |
---|---|
Decrypt | 对传递的 XmlNode 对象进行解密。 (重写 ProtectedConfigurationProvider.Decrypt(XmlNode)。) |
Encrypt | 对传递的 XmlNode 对象进行加密。 (重写 ProtectedConfigurationProvider.Encrypt(XmlNode)。) |
Equals(Object) | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) |
GetType | 获取当前实例的 Type。 (继承自 Object。) |
Initialize | 使用默认设置初始化提供程序。 (重写 ProviderBase.Initialize(String, NameValueCollection)。) |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
提示和注释
利用 DpapiProtectedConfigurationProvider,可以保护配置文件中存储的敏感信息,防止未授权访问。
通过在配置文件中声明提供程序和适当的设置(而非创建此类的实例),可以使用标准的 DpapiProtectedConfigurationProvider。 请参考下一个示例。
有关受保护的配置的更多信息,请参见使用受保护的配置加密配置信息。
DpapiProtectedConfigurationProvider 使用 Windows 内置的加密服务,而且可对其进行配置,使其以特定于计算机的方式进行保护,或以特定于用户帐户的方式进行保护。 特定于计算机的保护对于匿名服务非常有用,但安全性相对较差。 特定于用户帐户的保护可与根据特定用户身份而运行的服务一同使用。
System.Configuration.DpapiProtectedConfigurationProvider 类例子
下面的配置摘录演示应用保护前和应用保护后的配置节。
AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAcAMh0jIC1kigyFfd9AUZfQQAAAACAAAAAAADZgAAqAAAABAAAADQwbQ2DgIgIlqskE1RI9UpAAAAAASAAACgAAAAEAAAAAXlYBxi3jhM6wv4sxLhugsQAgAAgoReHZS2406dc/AyRDd6WuNr4ihHn6fbipd4tzHEmeuyS4o4fS4CmT3jMt/WjsP/kR7TF4ygwr2GG47podK79ECpVCZHAgctCauCYjE2Ls3iphKXy/pHic2o6aaClt/xPm+fb4OfODv6XjrJhJzGK2lqUPXkyJN1w2zwh6OVpDQF9N8vTyxL4eitp35/M5zYbW7e6VVAgYUOxlNxgCV5+jXpUKh/rPovopTD392u8KavqQFW1iu+gBPSPq/xeZNz+qYMKbUl+r4VTzBQg3fPlRxp1lNZmM2yRgUbkYPNaFb9ihS7GAg5/wZn8lLmThvq39eA0Vlp6hDE92iop885umELt0/NBKf5umQCqqz9EXXLbmmGc7qoLqTaYVuOmqx0LsvrJL0wSL1dSySCjmB/dNAtVUYgg02eWQNKyaLqnpMdCbTLLQ/oCKuNkL5OQ7t1yl5wQGjQhieIRzLtrMgpTSyaHbqDsRurp9Bc5mM078IAg1hXquQNKlJC/wiJ9kbHerFCbtuLGy/7nXVrFH91ud4U4ExCJEuhoTdmuql5kbqYd6Ye/bu2CftPni19nDkSJ8w4NoqMNKbK3Mi/Cd0o113HsVYlETMv1vlJWZWYP91PK9trixiY4E0G81c6IKITjHDrOJ9evdw2T1/TrvY6pzre3UXSJbFMDQVX6JoAxFk02SRZDKOZdRojeoX19lgrFAAAABzjlz3Qg2as3vn7MRQVxDfZucgE
继承层次结构
System.Configuration.Provider.ProviderBase
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。