.NET Framework 加密模型

更新:2007 年 11 月

.NET Framework 提供许多标准加密算法的实现。这些算法易于使用并具有最安全的可能默认属性。此外,对象继承、流设计和配置的 .NET Framework 加密模型具有高度的可扩展性。

对象继承

.NET Framework 安全系统实现可扩展模式的派生类继承。层次结构如下所示:

使用这种模式的派生类,很容易添加新算法或现有算法的新实现。例如,若要创建新的公钥算法,则应从 AsymmetricAlgorithm 类继承。若要创建特定算法的新实现,应创建该算法的非抽象派生类。

流设计

公共语言运行库使用面向流的设计实现对称算法和哈希算法。此设计的核心是 CryptoStream 类,它派生自 Stream 类。基于流的加密对象全都支持用于处理对象的数据传输部分的单个标准接口 (CryptoStream)。由于所有对象都在标准接口上生成,所以可以将多个对象(如一个哈希对象后跟一个加密对象)链接在一起,并且可以对数据执行多个操作而不需要为数据提供任何中间存储。使用流模型时还可以用更小的对象生成对象。例如,可以将加密算法和哈希算法的组合视为单个流对象(即使该对象可能是从一组流对象生成的)。

加密配置

使用加密配置可以将算法的特定实现解析为算法名称,从而使 .NET Framework 加密类具有可扩展性。您可以添加自己的硬件或软件算法实现,并将该实现映射到您选择的算法名称上。如果未在配置文件中指定算法,则使用默认设置。有关加密配置的更多信息,请参见配置加密类

请参见

概念

加密概述

其他资源

加密任务

加密服务