编程语言
首页 > 编程语言> > RSA C#中的密钥大小未更改!

RSA C#中的密钥大小未更改!

作者:互联网

我正在生成密钥对并将它们存储在xml文件中,使用

ToXmlString(true);

我需要将密钥大小设置为2048
根据MSDN,唯一执行此操作的地方是来自RSACryptoServiceProvider的构造函数

    private void AssignParameter(ProviderType providerType)
    {
        CspParameters cspParams;

        cspParams = new CspParameters((int)providerType);
        cspParams.KeyContainerName = RSAEncryption.containerName;
        cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
        cspParams.ProviderName = "Microsoft Strong Cryptographic Provider";
        cspParams.KeyNumber = (int)KeyNumber.Exchange;

        this.rsa = new RSACryptoServiceProvider(2048, cspParams);
    }

当我使用检查密钥大小时

int x = this.rsa.KeySize;

我总是得到1024
那这怎么了?

解决方法:

我以前看过,请尝试更改容器名称或尝试

using (this.rsa = new RSACryptoServiceProvider(2048, cspParams)) 
{

}

或this.rsa.Clear();或完成后.

如果您已经有一个同名的容器,它将重新使用我相信的容器.

标签:private-key,rsa,encryption-asymmetric,c
来源: https://codeday.me/bug/20191208/2093429.html