用.NET语言写一个RSA加解密字符串的类
时间: 2023-12-09 14:02:37 浏览: 155
好的,以下是用.NET语言实现RSA加解密字符串的类的代码示例(C#语言):
```
using System;
using System.Security.Cryptography;
using System.Text;
public class RSAEncryptor
{
private RSACryptoServiceProvider rsaProvider;
public RSAEncryptor()
{
rsaProvider = new RSACryptoServiceProvider();
}
public string GetPublicKey()
{
return rsaProvider.ToXmlString(false);
}
public void SetPublicKey(string publicKey)
{
rsaProvider.FromXmlString(publicKey);
}
public string Encrypt(string text)
{
byte[] plainBytes = Encoding.UTF8.GetBytes(text);
byte[] encryptedBytes = rsaProvider.Encrypt(plainBytes, false);
return Convert.ToBase64String(encryptedBytes);
}
public string Decrypt(string text)
{
byte[] encryptedBytes = Convert.FromBase64String(text);
byte[] plainBytes = rsaProvider.Decrypt(encryptedBytes, false);
return Encoding.UTF8.GetString(plainBytes);
}
}
```
使用示例:
```
RSAEncryptor encryptor = new RSAEncryptor();
string publicKey = encryptor.GetPublicKey();
// 将公钥传给其他人
string text = "Hello, world!";
string encryptedText = encryptor.Encrypt(text);
// 发送加密后的字符串给对方
// 对方使用私钥解密
RSAEncryptor decryptor = new RSAEncryptor();
decryptor.SetPublicKey(publicKey);
string decryptedText = decryptor.Decrypt(encryptedText);
Console.WriteLine(decryptedText);
```
注意:在实际使用中,需要使用私钥来解密数据。上面的示例只是为了演示加解密过程。
阅读全文