如何在使用RSACryptoServiceProvider加密时定义哈希大小

本文关键字:定义 哈希大 加密 RSACryptoServiceProvider | 更新日期: 2023-09-27 17:50:58

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

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

如何在使用RSACryptoServiceProvider加密时定义哈希大小

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

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