2

可能重复:
RSACryptoServiceProvider(.NET 的 RSA)可以使用 SHA256 进行加密(不是签名)而不是 SHA1 吗?

RSACryptoServiceProvider用于加密时,默认的哈希算法显然是SHA-1. 如何SHA-512在加密数据时定义另一种哈希算法(使用该Encrypt方法)?我没有找到与哈希算法相关的任何属性。

4

1 回答 1

2

RSACryptoServiceProvider 将只允许您通过使用SignData() 重载之一来设置用于签名的哈希函数。不幸的是,在不使用CLRSecurity project之类的东西的情况下,似乎没有任何方法可以更改 OAEP 填充使用的哈希值。

如果您查看RSACng 包装器,您可以设置 EncryptionHashAlgorithm 属性。默认看起来像是 SHA256。请参阅@owelstead 在评论中给出的答案。

于 2013-01-06T19:34:46.943 回答