• 0
OnePeople

MD5

Вопрос

Формирую запрос, отправляю метод на поиск аудиозапесей, добовляю sig
 

...

md5param:='&q='+reqest+'&auto_complete=1&lyrics=0&performer_only=0&sort=0&search_own=0';

  with fGeneral.RESTRequest1.Params.AddItem do
    begin
      name:='sig';
      Value:=md5('/method/'+fGeneral.RESTRequest1.Resource+'?v=5.28&https=1'+md5param+'&count=100&offset=1&access_token='+fGeneral.OAuth2Authenticator1.AccessToken+fGeneral.OAuth2Authenticator1.ClientSecret);
    end;

 

function md5(s: string): string;
begin
Result := '';
with TIdHashMessageDigest5.Create do
try
Result := AnsiLowerCase(HashStringAsHex(s));
finally
Free;
end;
end;

 

Проблема в том что когда запрос reqest на английском все нормально, а когда на русском пишет что неправильная сумма md5. Что делать с русским?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 ответа на этот вопрос

  • 0

Для получения МД5 есть стандартный класс: http://docwiki.embarcadero.com/Libraries/XE8/en/System.Hash.THashMD5

uses
	System.Hash;

//////////

...

md5param:='&q='+reqest+'&auto_complete=1&lyrics=0&performer_only=0&sort=0&search_own=0';

  with fGeneral.RESTRequest1.Params.AddItem do
    begin
      name:='sig';
      Value:=THashMD5.GetHashString('/method/'+fGeneral.RESTRequest1.Resource+'?v=5.28&https=1'+md5param+'&count=100&offset=1&access_token='+fGeneral.OAuth2Authenticator1.AccessToken+fGeneral.OAuth2Authenticator1.ClientSecret);
    end;

 

Kitty, OnePeople, Rusland и 2 другим понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Спасибо большое, выручил +++

Тот тоже был стандартный)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу