使用DESCryptoServiceProvider 类进行加密

      定义访问数据加密标准 (DES) 算法的加密服务提供程序 (CSP) 版本的包装对象
      从理论上说,加密并不能防止对手检索到加密的数据,但它确实增加了这样做的成本
      上面了两句后都是MSDN上的定义,DES加密属于对称加密,即同一密钥既用于加密又用于解密。
      下面是DESCryptoServiceProvider的继承结构。
      
      使用DESCryptoServiceProvider 类进行加密时需要用到加密流(CryptoStream),CryptoStream定义将数据流链接到加密转换的流,下面是他的唯一的构造函数:
      public CryptoStream(Stream stream,ICryptoTransform transform,CryptoStreamMode mode)
      第一个参数(stream)表示要执行加密的流;
      第二个参数(transform)表示实现了ICryptoTransform接口的一个实例,比如SymmetricAlgorithm.CreateEncryptor ()的返回值;
      第三个参数(mode)表示CryptoStreamMode 枚举的一只,Read或Write。
      下面的代码是根据MSDN上的修改的,其实很简单,原来使用的没有带参数的CreateEncryptor方法,表示用当前的 Key 属性和初始化向量 (IV) 创建对称解密器对象。而我们使用带参数的 CreateEncryptor方法,他的参数是两个byte型的数组,第一个表示用于对称算法的密钥,第二个表示用于对称算法的初始化向量。
      
Code
      当然这些加密技术都是比较古老的东西了,MS提供的最新加密支持是下一代加密技术 (CNG)
posted @ 2009-07-26 07:52  百利  阅读(810)  评论(0编辑  收藏  举报