我需要使用RSA(密钥大小为1024位)签署并验证大约一百条消息/秒。
对于签名消息,我使用SHA2计算数据的哈希值,然后将哈希值传递给SignHash。
rsaCryptoServiceProvider.SignHash(hashOfData, "SHA2");
验证我使用的签名
rsaCryptoServiceProvider.VerifyHash(hashOfData, "SHA2", signature);
使用null调用这些方法会引发异常。同样,使用
CryptoConfig.MapNameToOid("SHA2")
还会与域控制器联系并花费大量时间。
我也尝试过使用SHA1和MD5。有没有办法可以跳过SignHash和VerifyHash的OID查找?
答案 0 :(得分:2)
似乎传递null作为第二个参数会强制使用SHA1。使用任何其他算法都需要Oid查找。