BouncyCastle用这个包

 

RSA公钥加密

public string RSAPublickEncrypt(string pubkey, string data)
{
var rsaPubkey = (RsaKeyParameters)PublicKeyFactory.CreateKey(Convert.FromBase64String(pubkey));
RSAParameters rsaParameters = new RSAParameters();
rsaParameters.Modulus = rsaPubkey.Modulus.ToByteArrayUnsigned();
rsaParameters.Exponent = rsaPubkey.Exponent.ToByteArrayUnsigned();
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(rsaParameters);


byte[] dataBytes = Encoding.Default.GetBytes(data);
byte[] encryptBytes = rsa.Encrypt(dataBytes, false);
string encryptString = Convert.ToBase64String(encryptBytes);
return encryptString;
}