由于RSACryptoServiceProvider.VerifyHash验证已经散列的消息 - 为什么它需要知道使用了哪个散列算法?为什么RSACryptoServiceProvider.VerifyHash有一个“哈希算法标识符”参数?
当询问SignHash
方法时,it was suggested表示原因有for communicating the hash(而不是实际用于签名)。但在这种情况下,这不会解释它。 (因为它不是out
参数。)
由于RSACryptoServiceProvider.VerifyHash验证已经散列的消息 - 为什么它需要知道使用了哪个散列算法?为什么RSACryptoServiceProvider.VerifyHash有一个“哈希算法标识符”参数?
当询问SignHash
方法时,it was suggested表示原因有for communicating the hash(而不是实际用于签名)。但在这种情况下,这不会解释它。 (因为它不是out
参数。)
这是因为签名的PKCS#1编码包括RSA加密数据块中的散列函数OID。
@DanielHilgarth从[MSDN](http://msdn.microsoft.com/zh-cn/library/142k6c98%28v=vs.100%29.aspx):“通过确定数字签名是否有效使用提供的公钥将签名中的哈希值与提供的**哈希**值进行比较。 - 参数是_already_哈希。 – ispiro 2013-05-06 09:45:40