【发布时间】:2012-12-21 10:25:45
【问题描述】:
这是我的代码:
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(128);
try
{
string publicKeyXML = rsa.ToXmlString(false);
string privateKeyXML = rsa.ToXmlString(true);
int size = rsa.KeySize;
}
finally
{
rsa.PersistKeyInCsp = false;
}
我只是不断收到相同的错误“指定的标志无效”。如果我使用无参数构造函数,则不会抛出异常,并且 keysize 为 1024。
【问题讨论】:
-
我假设 .net 不支持 128 位 RSA。也许是因为如此小的 RSA 密钥完全不安全。或者可能是因为对于典型的散列,RSA 填充比这个大。 512 位 RSA 密钥非常弱,建议的最小值为 1024 位,即使这样也不是很强大。
-
@CodesInChaos:谢谢!你是对的。我刚刚在 MSDN 上找到了答案!
-
我正在查看构造函数的文档,但没有找到该语句。
-
感谢编辑。我没有粘贴正确的链接:P
标签: c# rsa rsacryptoserviceprovider