zoukankan      html  css  js  c++  java
  • .NET中的加密类(对称加密)

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

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

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

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

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

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

  • 相关阅读:
    go语言和c++比较
    追逐光和影,成就风与电
    vue中使用mockjs
    JS 实现关键字文本搜索 高亮显示
    vue将页面(dom元素)转换成图片
    js复制功能(pc复制,移动端复制到手机剪切板)
    Django终端打印SQL语句
    Oracle查看表空间及大小
    Oracle 五种约束的创建和移除:
    Oracle的decimal和number的对比
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/2341215.html
Copyright © 2011-2022 走看看