Обсуждение статьи "Использование криптографии совместно с внешними приложениями"

 

Опубликована статья Использование криптографии совместно с внешними приложениями:

Рассмотрены вопросы шифровки / дешифровки объектов в MetaTrader-e и сторонних программах с целью выяснения условий, при которых одинаковые результаты будут получаться при одинаковых исходных данных.

Использование криптографии нечасто встретишь в программах на MQL. В обычной повседневной практике трейдера места для неё мало, либо не находится вовсе. Можно себе представить параноидальный копировщик сигналов, который очень не хочет, чтобы пересылаемые им данные подслушал кто-то еще, да, пожалуй, и всё. Там, где данные не покидают терминала, очень трудно себе представить необходимость в их шифровке / дешифровке. Скорее, их применение в этом случае, скажет о недостаточной компетенции разработчика, создающего лишнюю нагрузку на терминал.

Может быть необходимости в криптографии нет вовсе? Конечно же, такая необходимость имеется. Возьмем, например, область лицензирования. Легко представить себе небольшую компанию, отдельного разработчика, продукция которых пользуется успехом. Для них вопросы лицензирования будут весьма актуальны, а следовательно, и необходимость в шифровке / дешифровке  лицензий.

В лицензии можно будет указать данные пользователя и изменяемый список инструментов, которые у пользователя имеются. Индикатор или советник начинают работу, проверяют наличие лицензии, срок её окончания по данному инструменту. Запрашивают сервер, при необходимости обновляют лицензию, или получают новую. Скорее всего, это не самый эффективный и безопасный путь, но в этой статье мы используем его для иллюстрации. Очевидно, что в данном случае чтением / записью лицензии будут заниматься разные программные средства — терминал, удаленный сервер, контролирующие модули и модули логирования. Так же очевидно, что они могут быть написаны разными людьми, в разное время и на разных языках.

Целью настоящей статьи является изучение режимов шифровки / дешифровки, при которых объект, зашифрованный программой, написанной на C#, или C++, мог быть гарантированно расшифрован терминалом MetaTrader и наоборот.

Автор: Andrei Novichkov