【发布时间】:2017-07-06 07:56:17
【问题描述】:
我有用 Base64 编码的 RSA 公钥。 解码后我可以得到 RSA 公钥:
-----BEGIN PUBLIC KEY----- XXXXXXXXXXXXXXXXXXXXXXX -----结束公钥-----
现在我需要将此密钥导入 RSACryptoServiceProvider。 我正在寻找解决方案,但找不到任何可行的方法。 从我找到的片段中,我创建了这样的代码示例
public static string Encrypt(string input, string base64PublicKey)
{
var rsa = new RSACryptoServiceProvider();
var byteKey = System.Convert.FromBase64String(base64PublicKey);
var byteInput = Encoding.UTF8.GetBytes(input);
var parameters = rsa.ExportParameters(false);
parameters.Modulus = byteKey;
rsa.ImportParameters(parameters);
var bytesEncrypted = rsa.Encrypt(byteInput, false);
var result = System.Convert.ToBase64String(bytesEncrypted);
return result;
}
我想它不能正常工作,因为我总是从我正在集成的系统中得到错误响应。
导入公钥是否正确? 如果不是我应该怎么做?
【问题讨论】:
标签: c# cryptography rsa rsacryptoserviceprovider