Я имею с этим кодом:
RijndaelManaged rijndaelCipher = new RijndaelManaged();
// Set key and IV
rijndaelCipher.Key = Convert.FromBase64String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678912");
rijndaelCipher.IV = Convert.FromBase64String("1234567890123456789012345678901234567890123456789012345678901234");
Я получаю броски:
Specified key is not a valid size for this algorithm.
Specified initialization vector (IV) does not match the block size for this algorithm.
Что случилось с этим представляет в виде строки? Я могу рассчитать в некоторых строках в качестве примера от Вас?
Строка "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678912" при base64-декодировании дает 48 байт (384 бита). RijndaelManaged поддерживает 128, 192 и 256-битные ключи.
Правильный 128-битный ключ - это new byte[]{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }
или если вам нужно получить его из base64 : Convert. FromBase64String("AAECAwQFBgcICQoLDA0ODw==")
.
Размер блока по умолчанию составляет 128 бит, поэтому тот же массив байтов будет работать как IV.
Алгоритм RijndaelManaged поддерживает длину ключа 128, 192 или 256 бит. Является ли ваш ключ одним из этих размеров?