.NET中的加密类(对称加密)

来源:互联网 发布:淘宝购物车流量来源 编辑:程序博客网 时间:2024/05/29 08:29

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

     算法类型类,例如 SymmetricAlgorithm 或 HashAlgorithm。该级别为抽象。

     从算法类型类继承的算法类,例如 RC2 或 SHA1。该级别为抽象。

     从算法类继承的算法类的实现,例如 RC2CryptoServiceProvider 或 SHA1Managed。该级别是完全实现的。

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

 

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

原创粉丝点击