在C#中,可以使用RSACryptoServiceProvider
類來實現RSA加密和解密。
首先,你需要生成一個RSA密鑰對。以下是一個示例:
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
// 生成密鑰對
RSAParameters publicKey = rsa.ExportParameters(false); // 獲取公鑰
RSAParameters privateKey = rsa.ExportParameters(true); // 獲取私鑰
// TODO: 將公鑰和私鑰保存到安全地方
}
接下來,你可以使用生成的公鑰進行加密,使用私鑰進行解密。以下是一個示例:
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
// 導入私鑰
rsa.ImportParameters(privateKey);
// 加密數據
byte[] dataToEncrypt = Encoding.UTF8.GetBytes("Hello World");
byte[] encryptedData = rsa.Encrypt(dataToEncrypt, true);
// 使用公鑰解密
rsa.ImportParameters(publicKey);
byte[] decryptedData = rsa.Decrypt(encryptedData, true);
// 輸出解密后的數據
string decryptedText = Encoding.UTF8.GetString(decryptedData);
Console.WriteLine(decryptedText);
}
請注意,這只是一個簡單的示例。在實際使用中,你可能需要處理密鑰的存儲和管理,并注意加密數據的大小限制。