Я шифрую данные с помощью Rijndael. Я хочу сохранить зашифрованные байты данных в моей базе данных, чтобы потом можно было их расшифровать.
Проблема в том, что если я использую новый экземпляр RijndaelManaged
для функции дешифрования, мой ключ и IV не будут совпадать, и дешифрование завершится неудачей.
Итак, я использую LINQ для объединения байтовых массивов:
return encrypted.Concat(key).Concat(iV);
Как мы знаем, это возвращает IEnumerable<byte>
. У меня немного впереди себя, потому что я понятия не имею, что с этим делать, теперь я собрал все это вместе.
Меня не беспокоит использование памяти, так как это просто небольшие биты текстовых данных, которые я шифрую.
Я знаю, что мой KeySize
равен 256, что означает, что я мог бы отделить ключ от IEnumerable, но тогда я фактически не знаю, где контент или IV начало / конец, так что это где Я спотыкаюсь ...
Есть ли способ, которым я могу разбить этот IEnumerable обратно на составляющие байтовые массивы, которые сделали его в первую очередь?