如何在c#中解密RESTful Web api中加密格式的数据。
C#中使用私钥进行RSA解密。
借助包含私钥的 .pfx 文件对来自客户端的加密格式数据进行解密。
这里我们需要X509Certificate2和.pfx文件。
注意:这里的
url_data是从客户端获取的加密数据或字符串,使用公钥加密。
[HttpPost]
public string CallbackURL([FromBody] string url_data)
{
string return_data = "";
if (url_data!= "")
{
byte[] encryptedBytes;
byte[] decryptedBytes;
encryptedBytes = Convert.FromBase64String(return_data);
X509Certificate2 cert = PrivateKeyFromCert();
RSACryptoServiceProvider rsaProv = cert.PrivateKey as RSACryptoServiceProvider;
decryptedBytes = rsaProv.Decrypt(encryptedBytes, false);
ASCIIEncoding byteConverter = new ASCIIEncoding();
return_data = byteConverter.GetString(decryptedBytes);
}
else
{
return_data = "Error While Receiving Data.";
}
return return_data;
}
public static X509Certificate2 PrivateKeyFromCert()
{
return new X509Certificate2(@"C:\cert_name.pfx", "Password",X509KeyStorageFlags.Exportable);
}