如何在C#中使用RSA算法和.pfx文件解密加密格式的数据? [已关闭]

问题描述 投票:0回答:1

如何在C#中使用RSA算法和.pfx文件解密加密格式的数据?

在我们的 Web API 项目之一中,我们加密了数据,并且我们正在使用 RSA 算法在 RSA 解密算法的帮助下解密该数据。

对于此解密,我们有 .pfx 文件形式的私钥,其中包含用于解密的私钥并面临一些问题。

所以我们正在努力解决这个问题。

encryption rsa private-key asymmetric
1个回答
0
投票

使用私钥进行RSA解密,即C#中的.pfx文件。

借助包含私钥的 .pfx 文件对来自客户端的加密格式数据进行解密。

这里我们需要X509Certificate2和.pfx文件。

  • X509Certificate2x509Certificate 的子类,它可以访问所有属性,例如权威密钥标识符。
  • 因此,借助这个x509Certificate类和受保护的.pfx文件的密码,我们可以获得以.pfx扩展名形式存储在物理路径或服务器计算机上的证书私钥。
所以让我们实际看看...

注意:这里的

encryptedData是从客户端获取的加密数据或字符串,使用公钥加密。

public string DecryptData() { string decryptedData= ""; string encryptedData= "Encrypted data string is here..."; if (encryptedData!= "") { byte[] encryptedBytes; byte[] decryptedBytes; encryptedBytes = Convert.FromBase64String(encryptedData); X509Certificate2 cert = PrivateKeyFromCert(); RSACryptoServiceProvider rsaProv = cert.PrivateKey as RSACryptoServiceProvider; decryptedBytes = rsaProv.Decrypt(encryptedBytes, false); ASCIIEncoding byteConverter = new ASCIIEncoding(); decryptedData= byteConverter.GetString(decryptedBytes); } else { decryptedData= "Error While Receiving Data."; } return decryptedData; } public static X509Certificate2 PrivateKeyFromCert() { return new X509Certificate2(@"C:\cert_name.pfx", "Password",X509KeyStorageFlags.Exportable); }
    
© www.soinside.com 2019 - 2024. All rights reserved.