Qualsiasi domanda da un PROFI a un SUPER PROFI - 1. - pagina 6

 
sergeev:
GetID è dinamico?

Purtroppo sì, perché i valori dei parametri possono essere cambiati dinamicamente, l'ID deve cambiare di conseguenza.
 

l'opzione più semplice è quella di convertire l'intera lista di parametri in una lunga stringa e prendere MD5. una funzione hash più breve per la stringa.

Questo vi darà unicità e unicità e dinamismo quando i parametri cambiano.

 
È possibile prendere MD5 solo dall'implementazione esterna (per esempio, attraverso dll) o ci sono varianti della sua implementazione per mezzo di MQL4, MQL5?
 
sergeev:

Avrete unicità e univocità e dinamismo quando cambiate i parametri.

Non ci sarà unicità.
In generale, è stato raccomandato di usare Sha256 per molto tempo,
perché c'è un algoritmo che genera password con Md5 specificato.
C-4:
È possibile prendere MD5 solo dall'implementazione esterna (per esempio, attraverso dll) o ci sono varianti della sua implementazione per mezzo di MQL4 o MQL5?
Sai... se non avete niente di meglio da fare - certo, fatelo in Mql.
 
C-4:
È possibile prendere MD5 solo dall'implementazione esterna (per esempio, attraverso dll) o ci sono varianti della sua implementazione per mezzo di MQL4, MQL5?

Penso che tu possa trovare l'algoritmo in rete. qui per esempio. o wiki

 
In generale... Il problema con i parametri e l'identificatore è 1:1 java hashCode / equals.
Tutto risulterà come volete, solo se riuscite ad impacchettare tutti i parametri nell'identificatore.
Cioè le funzioni di hashing non vi daranno quello che volete...
 
jartmailru:
Non ci sarà unicità. Infatti, è stato a lungo raccomandato di passare a Sha256,
perché è stato creato un algoritmo che genera una password con un dato Md5.

Cosa c'entrano le password? :))) stiamo parlando di qualche identificatore di classe, che viene creato al volo ed è diverso per i diversi parametri.

----------

E in generale, C-4, ho pensato, se una stringa di parametri sarà creata comunque, allora che senso ha questo hash. :)

Basta confrontare le due stringhe.

 
sergeev:

Cosa c'entra la password? :))) stiamo parlando di un certo identificatore di classe, che viene creato al volo ed è diverso per i diversi parametri.

Il succo della mia risposta:
1) Md5 non darà un identificatore unico
1.1) le funzioni di hashing non possono essere utilizzate per il compito
2) Md5- non di moda
Sì, hai solo bisogno di un confronto. Tutto in un array e poi una ricerca binaria:-).
P.S.: E in C++ non c'è nemmeno bisogno di scrivere codice per questo...
 


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

La criptoprotezione non è necessaria per risolvere il problema. L'unica cosa che conta è creare un'impronta digitale unica. Purtroppo MD5 è un codice hash a 128 bit. Non ci sono tipi di variabili di quella lunghezza in MQL. Quindi probabilmente implementerò un Adler-32 molto più semplice su di esso e lo renderò un generatore di un numero ID unico a 32 bit per ogni istanza della classe.

s.w. Se può approfondire il punto 1.1. Perché non si può fare?

 
jartmailru:

Sì, hai solo bisogno di un confronto. Tutto in un array e poi una ricerca binaria :-).

Sì, in questo caso possiamo fare a meno dell'hashish.

Se questa variante va bene a Vasily, mettiamo semplicemente tutti i parametri in una stringa. La stringa sarà l'identificatore della classe.