c# - 使用 RSACryptoServiceProvider 加密时如何定义哈希大小?

标签 c# encryption rsa rsacryptoserviceprovider

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/

相关文章:

java - 如何使用 XAdES4j 信任 Windows keystore 的 anchor ?

java - 必需的 String[] 找到 String Java

node.js - Google Play 应用内结算购买签名的服务器端验证失败

java - 我在执行解密时遇到基数超出范围异常

c# - 我如何将 ReadAllLines 与 gzip 文件一起使用

c# SqlDataReader 数据库存储guid或null

c# - Fluent API 的类型推断

c# - Linq to XML 获取一对多元素名称和属性名称/值

android - SSL 安卓应用加密

android - 使用较少内存加密/解密大文件的最佳实践