Я только что заметил, что в .NET Standard 2.1/.NET Core 3.0 наконец-то добавлен класс для шифрования AES-GCM.
Однако его API немного отличается от обычных криптографических классов .NET: его функция Encrypt запрашивает предварительно выделенные массивы байтов для зашифрованного текста и тега, а не предоставляет их сама. К сожалению, в документации нет примера, показывающего правильное использование этого класса.
Я знаю, как теоретически рассчитать ожидаемый размер зашифрованного текста для шифрования AES, но мне интересно, действительно ли это предполагаемый подход к своего рода «угадыванию» размера буфера для зашифрованного текста. Обычно библиотеки шифрования предоставляют функции, которые отвечают за эти вычисления.
Есть ли у кого-нибудь пример того, как правильно зашифровать массив байтов с помощью AesGcm?