Хорошо, у меня есть запатентованный двоичный формат. Это в основном свободная упаковка нескольких разных наборов растровых данных. В любом случае, в прошлом просто прочитать это и распаковать было легкой задачей. Но теперь в следующей версии растровые XML-данные теперь должны быть зашифрованы с использованием AES-256 (не мой выбор, и у нас нет выбора).
Теперь нам в основном отправили ключ AES вместе с солью, которую они используют, чтобы мы могли изменить наш распаковщик.
ПРИМЕЧАНИЕ. ЭТИ КЛЮЧИ НЕ ТОЛЬКО ПРИМЕР:
Каждый из них представляет собой 63-байтовые символы ASCII:
Key: "QS;x||COdn'YQ@vs-`X\/xf}6T7Fe)[qnr^U*HkLv(yF~n~E23DwA5^#-YK|]v."
Salt: "|$-3C]IWo%g6,!K~FvL0Fy`1s&N<|1fg24Eg#{)lO=o;xXY6o%ux42AvB][j#/&"
Мы в основном хотим использовать C ++ CryptoAPI для расшифровки этого (я также единственный программист здесь на этой неделе, и это будет запущено завтра. Не по нашей вине). Я искал простое руководство по реализации этого. К сожалению, я даже не могу найти учебник, в котором есть соль и ключ по отдельности. По сути, все, что у меня есть сейчас, - это небольшая функция, которая принимает массив BYTE. Наряду с его длиной. Как я могу это сделать?
Я потратил большую часть утра, пытаясь сделать криптоАПИ головами / хвостами. Но период не идет хорошо: (
EDIT
Поэтому я спросил, как они его шифруют. Они используют C # и RijndaelManaged, что, насколько мне известно, не эквивалентно AES.
EDIT2
Хорошо, наконец-то получили именно то, что происходило, и они прислали нам неправильные ключи.
Они делают следующее:
Заполнение = PKCS7
CipherMode = CBC
Ключ определяется как набор из 32 байтов в шестнадцатеричном формате.
IV также определяется как набор из 32 байтов в шестнадцатеричном формате.
Они забрали соль, когда я спросил их.
Насколько сложно установить эти вещи в CryptoAPI с помощью заголовочного файла wincrypt.h .?