ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-12-08 18:17:26  阅读:194  来源: 互联网

标签:private-key rsa encryption-asymmetric 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有