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