Discussão do artigo "Usando criptografia com aplicativos externos"

 

Novo artigo Usando criptografia com aplicativos externos foi publicado:

Consideraremos problemas de criptografia/descriptografia de objetos no MetaTrader e em programas de terceiros, a fim de descobrir as condições sob as quais são obtidos os mesmos resultados quando os dados iniciais são os mesmos.

A criptografia raramente é usada em programas MQL, e normalmente um trader não se defronta na prática com ela. Imaginemos o seguinte cenário: um copiador de sinais paranóico que realmente não quer que outra pessoa "ouça" os dados que está enviando, talvez só isso. Neste caso, é muito difícil imaginar a necessidade de criptografar/descriptografar tais dados nos locais em que eles não abandonam o terminal. Portanto, se um desenvolvedor quiser fazer isso neste caso, estaria expondo sua incompetência ao dar uma carga extra no terminal.

Logo, talvez não haja necessidade de criptografar? Claro, existe tal necessidade. Vejamos, por exemplo, o licenciamento. É fácil imaginar uma pequena empresa gerida por um desenvolvedor independente cujos produtos fazem sucesso. Para ele, a questão do licenciamento é muito relevante, tornando importante a necessidade de criptografar/descriptografar licenças.

Na licença será possível especificar os dados do usuário e uma lista editável de ferramentas disponibilizadas para ele. O indicador ou EA em questão arranca, verifica se há uma licença, bem como sua data de validade para o instrumento escolhido; consulta o servidor, renova a licença ou obtém uma nova, se necessário. Este provavelmente não é o caminho mais eficiente e seguro, mas neste artigo iremos usá-lo para dar uma ideia. Obviamente, neste caso, a leitura/registro da licença será feita por diferentes ferramentas de software, entre elas estão o terminal, um servidor remoto, os módulos de controle e os módulos de registro. Também é óbvio que elas podem ser escritas por pessoas diferentes, em momentos diferentes e em línguas diferentes.

O objetivo deste artigo é estudar os modos de criptografia/descriptografia em que um objeto criptografado por um programa escrito em C# ou C++ pode ter a garantia de ser descriptografado pelo terminal MetaTrader e vice-versa.

Autor: Andrei Novichkov