Шифрование RSA в .Net Framework 4.8 с использованием RSAEncryptionPadding.OaepSHA256C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Шифрование RSA в .Net Framework 4.8 с использованием RSAEncryptionPadding.OaepSHA256

Сообщение Anonymous »

В .Net 8 я использую следующий код шифрования RSA (упрощенный)

Код: Выделить всё

        public static string EncryptWithPublicKey(string text, string keyString)
{
var rsa = RSA.Create();
rsa.ImportRSAPublicKey(Convert.FromBase64String(keyString), out _);
var dataBytes = Encoding.UTF8.GetBytes(text);
var encryptedBytes = rsa.Encrypt(dataBytes, RSAEncryptionPadding.OaepSHA256);
return Convert.ToBase64String(encryptedBytes);
}

public static string DecryptWithPrivateKey(string cipherText, string keyString)
{
var rsa = RSA.Create();
rsa.ImportRSAPrivateKey(Convert.FromBase64String(keyString), out _);
var encryptedBytes = Convert.FromBase64String(cipherText);
var decryptedBytes = rsa.Decrypt(encryptedBytes, RSAEncryptionPadding.OaepSHA256);
return Encoding.UTF8.GetString(decryptedBytes);
}

public static KeyPair GenerateKeyPair()
{
using RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
{
return new KeyPair() { PrivateKey = Convert.ToBase64String(rsa.ExportRSAPrivateKey()), PublicKey = Convert.ToBase64String(rsa.ExportRSAPublicKey()) };
}
}
Мне нужно перенести это обратно в проект .net framework 4.8, но похоже, что платформа поддерживает только SHA1?
Я пробовал использовать упругий замок и расширения, такие как https ://gist.github.com/valep27/4a720c25b35fff83fbf872516f847863, который позволил мне выполнить базовую генерацию ключей, а затем некоторое шифрование/дешифрование с использованием RSAEncryptionPadding.OaepSHA1, но мне нужно поддерживать SHA256. Есть ли у кого-нибудь примеры этого, поскольку я немного застрял!

Подробнее здесь: https://stackoverflow.com/questions/791 ... oaepsha256
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»