请提供C#版本的RSA加密代码
时间: 2023-10-12 22:04:42 浏览: 84
好的,以下是C#版本的RSA加密代码示例:
```csharp
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main(string[] args)
{
// 创建RSA实例
using (var rsa = new RSACryptoServiceProvider())
{
// 获取公钥和私钥
var publicKey = rsa.ToXmlString(false);
var privateKey = rsa.ToXmlString(true);
Console.WriteLine("Public Key: " + publicKey);
Console.WriteLine("Private Key: " + privateKey);
// 加密数据
var data = "Hello, World!";
byte[] dataBytes = Encoding.UTF8.GetBytes(data);
byte[] encryptedData = rsa.Encrypt(dataBytes, false);
Console.WriteLine("Encrypted Data: " + Convert.ToBase64String(encryptedData));
// 解密数据
byte[] decryptedData = rsa.Decrypt(encryptedData, false);
string decryptedText = Encoding.UTF8.GetString(decryptedData);
Console.WriteLine("Decrypted Data: " + decryptedText);
}
}
}
```
在这个示例中,我们使用 `RSACryptoServiceProvider` 类创建了一个 RSA 实例,并获取了公钥和私钥。然后,我们使用公钥加密了一段数据,并使用私钥解密了它。请注意,我们使用了 Base64 编码来打印加密后的数据,以便在控制台中显示。
阅读全文