Qualquer pergunta de um PROFI para um SUPER PROFI - 1. - página 6

 
sergeev:
GetID é dinâmico?

Infelizmente sim, porque os valores dos parâmetros podem ser alterados dinamicamente, a identificação deve ser alterada de acordo.
 

a opção mais fácil é converter toda a lista de parâmetros em uma cadeia longa e tomar MD5. uma função hash mais curta para a cadeia.

Isto lhe dará singularidade e dinamismo quando os parâmetros mudarem.

 
É possível tomar MD5 somente da implementação externa (por exemplo, através de dll) ou existem variantes de sua implementação por meio de MQL4, MQL5?
 
sergeev:

Você terá exclusividade e inequivocidade e dinamismo quando mudar os parâmetros.

Não haverá nenhuma exclusividade.
Em geral, tem sido recomendado o uso do Sha256 por um longo tempo,
porque existe um algoritmo que gera senhas com Md5 especificado.
C-4:
É possível tomar MD5 somente da implementação externa (por exemplo, através de dll) ou existem variantes de sua implementação por meio de MQL4 ou MQL5?
Você sabe... se você não tem nada melhor para fazer - claro, faça-o em Mql.
 
C-4:
É possível tomar MD5 somente da implementação externa (por exemplo, através de dll) ou existem variantes de sua implementação por meio de MQL4, MQL5?

acho que você pode encontrar o algoritmo na rede. aqui por exemplo. ou wiki

 
Em geral... O problema com parâmetros e identificador é 1:1 java hashCode / igual.
Tudo sairá como você quer, somente se você conseguir embalar todos os parâmetros em identificador.
Isto é, funções de hashing não lhe darão o que você quer...
 
jartmailru:
Não haverá nenhuma exclusividade. De fato, há muito tempo é recomendada a mudança para Sha256,
porque foi criado um algoritmo que gera uma senha com um determinado Md5.

O que as senhas têm a ver com isso? :))) estamos falando de algum identificador de classe, que é criado na mosca e é diferente para parâmetros diferentes.

----------

E em geral, C-4, eu pensei, se de qualquer forma será criada uma seqüência de parâmetros, então qual é o objetivo deste hash. :)

Basta comparar as duas cordas.

 
sergeev:

O que a senha tem a ver com ela? :))) estamos falando de algum identificador de classe, que é criado na mosca e é diferente para parâmetros diferentes.

A essência da minha resposta:
1) Md5 não dará um identificador único
1.1) funções de hashing não podem ser usadas para a tarefa
2) Md5- não está na moda
Sim, você só precisa de uma comparação. Tudo em um array e depois em uma busca binária:-).
P.S.: E em C++ você não precisa nem escrever código para isso...
 


Уникальности не будет.
И вообще уже давно рекомендуют переходить на Sha256,
потому что создан алгоритм, генерирующий пароль с заданным Md5.

A criptoprovação não é necessária para resolver o problema. O que importa é criar uma impressão digital única. Infelizmente o MD5 é um código hash de 128 bits. Não há tipos variáveis desse comprimento em MQL. Portanto, provavelmente vou implementar um Adler-32 muito mais simples nele e torná-lo um gerador de um número de identificação único de 32 bits para cada uma das instâncias de classe.

s.w. Se você puder desenvolver no ponto 1.1. Por que isso não pode ser feito?

 
jartmailru:

Sim, você só precisa de uma comparação. Tudo em um array e depois em uma busca binária :-).

Sim. Neste caso, podemos fazer sem haxixe.

Se esta variante se adequa a Vasily, nós simplesmente colocamos todos os parâmetros em uma seqüência. A corda será o identificador de classe.

Razão: