Cualquier pregunta de un PROFI a un SUPER PROFI - 1. - página 6

 
sergeev:
¿Es GetID dinámico?

Lamentablemente sí, ya que los valores de los parámetros pueden cambiarse dinámicamente, el ID debe cambiar en consecuencia.
 

la opción más sencilla es convertir toda la lista de parámetros en una cadena larga y tomar MD5. una función hash más corta para la cadena.

Esto le dará unicidad y dinamismo cuando los parámetros cambien.

 
¿Es posible tomar MD5 sólo de la implementación externa (por ejemplo, a través de dll) o hay variantes de su implementación por medio de MQL4, MQL5?
 
sergeev:

Tendrá unicidad, unicidad y dinamismo cuando cambie los parámetros.

No habrá unicidad.
En general, se recomienda utilizar Sha256 desde hace mucho tiempo,
porque hay un algoritmo que genera contraseñas con Md5 especificado.
C-4:
¿Es posible tomar MD5 sólo de la implementación externa (por ejemplo, a través de dll) o hay variantes de su implementación por medio de MQL4 o MQL5?
Ya sabes... si no tienes nada mejor que hacer - claro, hazlo en Mql.
 
C-4:
¿Es posible tomar MD5 sólo de la implementación externa (por ejemplo, a través de dll) o hay variantes de su implementación por medio de MQL4, MQL5?

creo que se puede encontrar el algoritmo en la red. aquí por ejemplo. o wiki

 
En general... El problema con los parámetros y el identificador es 1:1 java hashCode / equals.
Todo saldrá como quieres, sólo si consigues empaquetar todos los parámetros en el identificador.
Es decir, las funciones de hashing no te darán lo que quieres...
 
jartmailru:
No habrá unicidad. De hecho, hace tiempo que se recomienda cambiar a Sha256,
porque se ha creado un algoritmo que genera una contraseña con un Md5 determinado.

¿Qué tienen que ver las contraseñas? :))) estamos hablando de algún identificador de clase, que se crea sobre la marcha y es diferente para los distintos parámetros.

----------

Y en general, C-4, pensé, si una cadena de parámetros se creará de todos modos, entonces ¿cuál es el punto de este hash en absoluto. :)

Sólo hay que comparar las dos cadenas.

 
sergeev:

¿Qué tiene que ver la contraseña? :))) estamos hablando de algún identificador de clase, que se crea sobre la marcha y es diferente para diferentes parámetros.

Lo esencial de mi respuesta:
1) Md5 no dará un identificador único
1.1) las funciones de hashing no pueden utilizarse para la tarea
2) Md5- no está de moda
Sí, sólo se necesita una comparación. Todo en un array y luego una búsqueda binaria:-).
P.D.: Y en C++ ni siquiera es necesario escribir código para ello...
 


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

No es necesario que la criptografía resuelva el problema. Lo único que importa es crear una huella digital única. Desafortunadamente MD5 es un código hash de 128 bits. No hay tipos de variables de esa longitud en MQL. Así que probablemente implementaré un Adler-32 mucho más simple en él y lo convertiré en un generador de un número de identificación único de 32 bits para cada una de las instancias de la clase.

s.w. Si puede ampliar el punto 1.1. ¿Por qué no se puede hacer?

 
jartmailru:

Sí, sólo necesitas una comparación. Todo en un array y luego una búsqueda binaria :-).

Sí. En este caso podemos prescindir del hash.

Si esta variante le conviene a Vasily, simplemente ponemos todos los parámetros en una cadena. La cadena será el identificador de la clase.