若要实现受保护配置提供程序,请创建一个继承 System.Configuration 命名空间的 ProtectedConfigurationProvider 抽象类的类。ProtectedConfigurationProvider 抽象类继承 System.Configuration.Provider 命令空间的 ProviderBase 抽象类,因此还必须实现 ProviderBase 类必需的成员。以下各表列出了必须从 ProviderBase 和 ProtectedConfigurationProvider 抽象类实现的属性和方法。若要查看每个成员的实现,请参见 如何:生成并运行受保护的配置提供程序示例。
必需的 ProviderBase 成员
必需的 ProtectedConfigurationProvider 成员
成员 | 说明 |
|---|
Encrypt 方法 | 执行加密。接受包含要加密的配置节的 XmlNode 对象作为输入。例如,如果要加密的配置节是 connectionStrings 节,则 XmlNode 对象表示类似于下面的示例的 XML 数据。 | <connectionStrings>
<add name="SampleConnectionString"
connectionString="Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;" />
</connectionStrings> |
Encrypt 方法对 XmlNode 对象的 OuterXml 值进行加密,并返回 EncryptedData 元素是根元素的 XmlNode 对象,如下面的示例所示: | <EncryptedData>
<!-- encrypted contents -->
</EncryptedData> |
EncryptedData 元素的内容格式由实现功能确定。在对该元素进行解密时,ASP.NET 会将 XmlNode 对象传递到 Decrypt 方法,其中 EncryptedData 元素是根元素。 |
Decrypt 方法 | 执行解密。接受包含加密配置节的 EncryptedData 元素的 XmlNode 对象作为输入。例如,如果 connectionStrings 节是已加密的配置节,则 XmlNode 对象所表示的 XML 数据类似于下面的示例中突出显示的 XML。 | <connectionStrings configProtectionProvider="CustomProvider">
<EncryptedData> <!-- encrypted contents --> </EncryptedData>
</connectionStrings> |
Decrypt 方法对 XmlNode 对象的内容进行解密,并返回一个 XmlNode 对象,该对象表示 EncryptedDataXmlNode 对象的已解密内容。例如,如果 connectionStrings 节已进行加密,则 Decrypt 返回一个 XmlNode 对象,该对象包含类似于下面的示例的 XML 数据。 | <connectionStrings>
<add name="SampleConnectionString"
connectionString="Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;" />
</connectionStrings> |
|