Insegnare come fare l'hash dei dati in mql4

 
Amici programmatori, insegnatemi come fare l'hash dei dati in mql4 (mi sembra di sapere come usare base64)
 
Mischek:
Sì, ora cercano persone più giovani.
"old horse don't mess around" (folk)
 
sanyooooook:
Compagni programmatori Citizen insegnatemi come fare l'hash dei dati su mql4 (mi sembra di sapere come usare base64)
MD5?
 
sergeev:
MD5 è necessario?

MD5 Credo di aver trovato un esempio da qualche parte.


sha256

Non ho avuto a che fare con esso, quindi per la maggior parte non so nemmeno cosa sia necessario - ecco un esempio di codice sull'sprp:

protected string Login= "Получить на странице доступа к API";
    protected string Password = ""Получить на странице доступа к API";
    protected string Culture ="ru-RU";

    var RequestBalance = new { Login = Login, Wmid = wmid, Culture = Culture, Signature = HashToBase64(String.Format("{0};{1};{2};{3}", Login, Password, Culture, wmid), null)};
    string Response = ITServiceJson.Balance(ForceJson(RequestBalance));

 static public byte[] Hash(string plainString, Encoding encoding)
    {
      if (plainString == null)
        throw new ArgumentNullException("plainString");

      if (encoding == null)
        encoding = Encoding.UTF8;

      return Hash(encoding.GetBytes(plainString));
    }

    static public byte[] Hash(byte[] bytes)
    {
      if (bytes == null)
        throw new ArgumentNullException("bytes");
      using (SHA256 algorithm = new SHA256Managed())
      {
        byte[] hashBytes = algorithm.ComputeHash(bytes);
        return hashBytes;
      }
    }

    public string HashToBase64(string plainString, Encoding encoding)
    {
      if (plainString == null) throw new ArgumentNullException("plainString");
      return Convert.ToBase64String(Hash(plainString, encoding));
    }
  
 

Ho capito come inviare una richiesta di post, ma ho bisogno di fare un hashish qui Firma:

nome destinazione nota
Accesso trader login è dato al commerciante nella pagina di accesso all'API ed è usato per firmare le richieste alla borsa online.
Password password del commerciante ottenuto dal commerciante sulla pagina di accesso all'API e usato per firmare le richieste allo scambio online
Wmid Trader's Wmid Identificatore WM del commerciante, quando lavora con lo scambio online
Cultura linguaggio di interrogazione Definisce la lingua del messaggio. (ru-RU, en-EN)
Firma richiesta di firma generato dai parametri: Login + ';' + Password + ';' + Cultura + ';' +Wmid
 
sergeev:
MD5?
No, non esattamente MD5
 
SHA-256 Source Code (SHA2) - PolarSSL
SHA-256 Source Code (SHA2) - PolarSSL
  • Offspark B.V.
  • tls.mbed.org
In addition to being used for the SHA-256 algorithm, the same code also performs the SHA-224 algorithm. In fact, the SHA-224 hash algorithm is nothing more than the result of the SHA-256 algorithm being cut short. The code only has a single dependency on config.h in the sha2.c source code file. You can remove this inclusion or just create a...
 

Io, essendo ingenuo, ne volevo uno già pronto.

Sono stato ingenuo, ne volevo uno già pronto.

ZS: forse winds ha alcune librerie integrate che fanno questa crittografia.

Scusate l'errore di ortografia, sono ubriaco.

 
sanyooooook:

Scrivi a Sharpe, Sanek, non devi pensare molto lì.

Sono già al mio quarto scambio, sto implementando l'api :)

sanyooooook:

ZS: forse Windows ha alcune librerie integrate che fanno tale crittografia.

CryptoAPI
The Cryptography API, or How to Keep a Secret
The Cryptography API, or How to Keep a Secret
  • msdn.microsoft.com
This article describes the Microsoft® Cryptography application programming interface (API) that is available with the new Windows NT® version 4.0 release and upcoming versions of Windows® 95. This article examines what is required to set up and use this new API. In order to compile the sample application you will need Microsoft Visual C++®...
 
TheXpert:

Scrivi in Sharp, Sanek, non devi pensare molto lì.


È difficile per me cambiare, ecco perché sono ancora su mucl4