加密异常:无效的标志位指定。

3

这是我的代码:

        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(128);

        try
        {              
            string publicKeyXML = rsa.ToXmlString(false);
            string privateKeyXML = rsa.ToXmlString(true);
            int size = rsa.KeySize;
        }
        finally 
        {
            rsa.PersistKeyInCsp = false;
        }

我一直收到同样的错误信息“指定了无效标志”。如果我使用无参构造函数,则不会抛出异常并且密钥长度为1024。


我认为 .net 不支持 128 位 RSA。可能是因为这样小的 RSA 密钥非常不安全。或者是因为 RSA 填充比典型哈希函数还要大。512 位 RSA 密钥非常薄弱,推荐的最小值是 1024 位,即使那也不是非常强大的。 - CodesInChaos
@CodesInChaos:谢谢!你是对的。我刚在MSDN上找到了答案! - coffeeak
我正在查看构造函数的文档,但没有找到那个语句。 - CodesInChaos
感谢编辑。我没有粘贴正确的链接:P - coffeeak
1个回答

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接