Possible Duplicate:
Can RSACryptoServiceProvider (.NET’s RSA) use SHA256 for encryption (not signing) instead of SHA1?
当使用RSACryptoServiceProvider
时对于加密,默认哈希算法显然是 SHA-1
。如何定义另一个哈希算法,如 SHA-512
加密数据时(使用 Encrypt
方法)?我没有找到任何与哈希算法相关的属性。
最佳答案
RSACryptoServiceProvider 仅允许您通过使用 SignData() overloads 之一来设置用于签名的哈希函数。 。不幸的是,看起来没有任何方法可以在不使用类似 CLRSecurity project 的情况下更改 OAEP 填充使用的哈希值。 。
如果你看RSACng wrapper ,您可以设置 EncryptionHashAlgorithm 属性。默认值看起来是 SHA256。请参阅this answer @owelstead 在评论中给出的。
关于c# - 使用 RSACryptoServiceProvider 加密时如何定义哈希大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14185872/