2011-10-03 40 views
2

我需要使用RSA(密鑰大小爲1024位)對約100條消息/秒進行簽名和驗證。是否可以在沒有昂貴的OID查找的情況下使用RsaCryptoServiceProvider調用SignHash和VerifyHash?

對於簽署消息,我正在使用SHA2計算數據的散列,然後將散列傳遞給SignHash。

rsaCryptoServiceProvider.SignHash(hashOfData, "SHA2"); 

若要驗證簽名我使用

rsaCryptoServiceProvider.VerifyHash(hashOfData, "SHA2", signature); 

調用這些方法無效拋出異常。同樣,使用

CryptoConfig.MapNameToOid("SHA2") 

也與域控制器聯繫並花費大量時間。

我也嘗試過使用SHA1和MD5。有什麼辦法可以跳過SignHash和VerifyHash的OID查找?

回答

2

看起來傳遞null作爲第二個參數強制使用SHA1。使用任何其他算法都需要Oid查找。

相關問題