【发布时间】:2020-08-06 23:36:46
【问题描述】:
根据microsoft docs,构造函数的格式为:
public RSACryptoServiceProvider (int dwKeySize);
使用指定密钥大小的随机密钥对初始化 RSACryptoServiceProvider 类的新实例。 dwKeySize = 要使用的密钥的大小(以位为单位)。
那么如果我想使用 RS256,这是否意味着我需要传入 2048 的参数?
我有点困惑,因为默认构造函数(即没有传递参数)创建一个 1024 位密钥。我不确定他们为什么会使用 1024。
【问题讨论】:
-
如果您计划生成新的公钥/私钥对 - 那么是的,您必须将 2048 传递给构造函数。如果您打算导入现有密钥 - 传递给构造函数的值无关紧要。
-
RS256通常指的是 JWT 令牌签名方法,即RSA+SHA256表示使用 RSA 对有效负载的 SHA256 哈希进行签名。 RSA 本身不是“X 字节”,但密钥大小将决定可以使用 RSA 签名的数据的最大大小,这意味着您至少需要一个 2048 的密钥用于RS256。