Мне нужно зашифровать некоторый текст в C # .NET 4.7.2, и шифр, который мне нужно использовать, - это RSA / ECB / OAEPWithSHA-1AndMGF1Padding.Однако встроенный класс C # RSACryptoServiceProvider
, похоже, не имеет заполнения MGF1.
Как зашифровать с помощью открытого ключа и RSA / ECB / OAEPWithSHA-1AndMGF1Padding?
Код, который у меня сейчас есть:
var cert = new X509Certificate2('path to certificate');
var rsa = cert.PublicKey.Key as RSACryptoServiceProvider;
var dataToEncrypt = ASCIIEncoding.ASCII.GetBytes(data);
var encryptedByteArray = rsa.Encrypt(dataToEncrypt, true).ToArray();
return Convert.ToBase64String(encryptedByteArray);