Для шифрования, дешифрования, подписи и проверки подписи я использую код отсюда DotnetCore.RSA
И он работал хорошо, пока я не начал работать с большим текстом.
Шифрование через RSA не работает с большим текстом.Большой - более 245 байт с ключом RSA 2048
У меня возникла исключительная ситуация при попытке зашифровать большой текст:
Сообщение об исключении: Interop.Crypto.OpenSslCryptographicException: 'error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size'
Функция шифрования:
public string Encrypt(string text) {
if (_publicKeyRsaProvider == null) {
throw new Exception("_publicKeyRsaProvider is null");
}
return Convert.ToBase64String(_publicKeyRsaProvider.Encrypt(Encoding.UTF8.GetBytes(text), RSAEncryptionPadding.Pkcs1));
}
Разработчик, написавший DotnetCore.RSA, предлагает разбить длинный текст на множество маленьких, зашифровать их отдельно и объединить их
Есть предложения, это нормально или нет?Может быть, предложить некоторые библиотеки для .net Core для шифрования RSA