MT5 2007 2019.04.08 11:57:00.074 Indicator (EURUSD,H1) 19: 50 48 49 57 46 48 52 46 48 56 32 48 48 58 48 48 58 48 48 (array_data) 2019.04.08 11:57:00.074 Indicator (EURUSD,H1) 32: 48 68 52 56 50 72 85 72 71 88 54 78 79 77 57 90 80 74 85 70 84 53 81 71 85 52 56 81 69 48 66 53 (array_key) 2019.04.08 11:57:00.075 Indicator (EURUSD,H1) 32: 104 69 1 168 56 114 158 108 14 137 155 117 1 111 185 116 177 164 95 71 195 45 162 75 18 89 208 170 195 4 173 14 (array_AES256)
Проверил на 2007 билде, результат как в МТ4 1170
Decode работает корректно?
Не знаю, не проверял, мне закодированный результат надо отправлять
еще пару дней назад на 2007 билде все было нормально и результат совпадал с МТ4 1170, а сегодня CryptEncode(CRYPT_AES256...) в MT5 выдает другой результат, содержимое массивов array_AES256 в MT4 и MT5 разное
Спасибо за сообщение.
Ошибка в шифровании AES исправлена.
https://www.mql5.com/en/forum/310088
В билде 2009 всё еще не работает.
- 2019.04.08
- www.mql5.com
Подтверждаю!
Билд: 2009
Проблема именно с методом преобразования CRYPT_AES256
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string Txt = "The quick brown fox jumps over the lazy dog. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9"; //---Key uchar Key[32]; ArrayInitialize(Key, 3); //---encode uchar SourceArr[], EncodedArr[]; StringToCharArray(Txt, SourceArr); int EncodeRes = CryptEncode(CRYPT_AES256, SourceArr, Key, EncodedArr); //---decode uchar DecodedArr[]; int DecodeRes = CryptDecode(CRYPT_AES256, EncodedArr, Key, DecodedArr); string DecodedTxt = CharArrayToString(DecodedArr); //---res Print("Txt: ",Txt); Print("EncodeRes: ",EncodeRes); Print("DecodedTxt: ",DecodedTxt); Print("DecodeRes: ",DecodeRes); //--- return; }
Txt: The quick brown fox jumps over the lazy dog. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 EncodeRes: 80 DecodedTxt: The quick brown fox jumps over the lazy dog. A0 A1 A2 A3 A4 A5 A ·7О ѓ|Ѕ DecodeRes: 80
Decode работает корректно?
Насколько я понял, проблема в кодировщике, т.к. байты при каждом кодировании меняются.
По моим наблюдениям проблем нет в декодере, по крайней мере, старые данные декодируются.
Насколько я понял, проблема в кодировщике, т.к. байты при каждом кодировании меняются.
По моим наблюдениям проблем нет в декодере, по крайней мере, старые данные декодируются.
декод работает коректно.
временно проблему можно решить добавлением мусора в оригинально закодированый массив(в конец массива), а потом игнорить этото мусор при расшифровке.
но всё таки хочется что-бы проблему поскорее решили)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
еще пару дней назад на 2007 билде все было нормально и результат совпадал с МТ4 1170, а сегодня CryptEncode(CRYPT_AES256...) в MT5 выдает другой результат, содержимое массивов array_AES256 в MT4 и MT5 разное