'DES'类和'DESCryptoServiceProvider'类有什么区别?

时间:2010-04-08 00:30:13

标签: c# security encryption

我能说的是,其中一个是所有'DES'算法的BC,后者是DES算法的加密服务提供程序实现的包装器。

我之所以要问的是,我正在检查.Net Security和MS官方培训书只是指DES课程,但另一本官方MS书是指DESCrypto'课程。这两者有什么区别?你什么时候使用其中任何一个?就70-536考试而言,我需要知道什么。

就70-536考试而言,我问教育P.O.V的问题。

更新

有人想对IV财产有所了解吗?

2 个答案:

答案 0 :(得分:3)

是的,DES类是一个抽象基类,DESCryptoServiceProvider是它的具体实现。继承链有点无聊,它是唯一的。

大多数加密类都遵循这种模式。 documented如下:

  

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

     
      
  • 算法类型类,例如SymmetricAlgorithm或HashAlgorithm。   这个级别是抽象的。
  •   
  • 继承自算法类型类的算法类;例如,   RC2或SHA1。这个级别是抽象的。
  •   
  • 从算法继承的算法类的实现   类;例如,   RC2CryptoServiceProvider或   SHA1Managed。这个级别是完全的   实现。
  •   
     

使用这种派生类模式,   添加新算法或者很容易   新的实施现有的   算法。例如,创建一个   新的公钥算法,你会的   继承自AsymmetricAlgorithm   类。创建新实现   一个特定的算法,你会的   创建一个非抽象派生类   那个算法。

不确定有人实际添加新公钥算法的频率。

答案 1 :(得分:1)

只是为了澄清:以CryptoServiceProvider结尾的算法类将工作卸载到内置的Windows加密库;而以Managed结尾的那些是用C#编写的。