由於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