【问题标题】:What is the benefit of using DSASignatureFormatter over DSACryptoServiceProvider to generate a signature?使用 DSASignatureFormatter 而不是 DSACryptoServiceProvider 生成签名有什么好处?
【发布时间】:2010-09-20 17:41:03
【问题描述】:

我正在使用 DSA 为二进制 blob 创建签名,并且我试图弄清楚使用 DSASignatureFormatter 的 CreateSignature(byte[]) 而不是仅仅使用 DSACryptoServiceProvider 的 CreateSignature(byte[] )

据我所知,使用 DSASignatureFormatter 的唯一好处是我可以使用 SetHashAlgorithm() 指定散列算法,然后格式化程序会为我处理数据散列。在 DSACryptoServiceProvider 场景中,我必须在将数据传递给 CreateSignature 方法之前对其进行预散列。

使用格式化程序还有什么好处吗?

【问题讨论】:

    标签: c# dsa


    【解决方案1】:

    DSASignatureFormatter 是一个更受限制的完整加密算法类。它只关心签名有效负载,它的逆(DSASignatureDeformatter)只关心验证签名。

    我想如果有一天你想切换到 RSAPKCS1SignatureFormatter,你将能够针对基类完成所有工作并且相当容易地切换。

    AsymmetricSignatureFormatter 和 AsymmetricSignatureDeformatter 是简单的类,无论如何都相当容易编写代码,并且代表了 SymmetricAlgorithm 类的不同抽象层。

    【讨论】:

      猜你喜欢
      • 2010-09-14
      • 2022-08-03
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      相关资源
      最近更新 更多