我正在尝试编写一个函数,它接收一个要编码的字符串,一个公钥作为PKCS#1格式的base64编码字符串,并返回一个编码的字符串.
public static string EncryptRsa(string stringPublicKey, string stringDataToEncrypt)
{
byte[] publicKey = Convert.FromBase64String(stringPublicKey);
// Code to create an RSACryptoServiceProvider with the public key
// var rsa = new RSACryptoServiceProvider(??)
byte[] dataToEncrypt = Encoding.UTF8.GetBytes(stringDataToEncrypt);
var encryptedData = rsa.Encrypt(dataToEncrypt, true);
return Convert.ToBase64String(encryptedData);
}
Run Code Online (Sandbox Code Playgroud)
过去几天我看到很多关于如何使用RSA算法进行加密的问题和答案,但是当我已经拥有现有密钥时(特别是PKCS#1格式),我没有找到有关如何创建RSACryptoServiceProvider的信息. ,只有如何生成密钥对.
例如:给定以下字符串,如何使用RSA加密加密数据?
----- BEGIN PUBLIC KEY ----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6 + H0qtjTkVxwTCpvKe4eCZ0 FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3J + skZ6UtW + 5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB
----- END PUBLIC KEY -----
谢谢!!