Mainlink API MD5 логин

K
На сайте с 31.05.2007
Offline
31
913

Кто-то пробовал подключаться к MainLink API, используя функцию sys_LogInMD5Password (пароль передаётся как md5 хэш)?

Дело в том что значение md5 функции в PHP и в .NET не совпадают (MainLink использует ASP.NET).

Насколько я разобрался в проблеме различие возникает из-за различного байтового представления строки которое передаётся в md5 ф-ю в этих языках. Как я понял .NET интерпретирует строку как UTF-8 строку, а PHP как ASCII в кодировке ISO-... Использование ф- и ICONV не на что не влияет, в гугле я смог найти только обратный пример - как привести ф-ю .NET к виду PHP.

Может кто-то уже сталкивался с такой проблемой и может подсказать грамотное решение?

Использовать авторизацию без md5 не хочется по соображениям безопасности.

Пример md5 хэшей для слова "test":


PHP:
098F6BCD4621D373CADE4E832627B4F6
ASP:
C8059E2EC7419F590E79D7F1B774BFE6

Сервис от MainLink.ru, который помогает сравнить хэши: http://api.mainlink.ru/tools/Default.aspx

S
На сайте с 19.05.2006
Offline
125
#1

Я пробовал, но столкнулся с той же проблемой.

Скрипт для быстрого добавления в Яндекс множества страниц! (http://yadd.ru/pro.php) | Поиск для вебмастеров (http://codavr.ru/)
Malcolm
На сайте с 02.05.2007
Offline
119
#2

Попробуйте так вот

echo md5(iconv("UTF-8", "UTF-16LE", 'test'));
K
На сайте с 31.05.2007
Offline
31
#3
Malcolm:
Попробуйте так вот
echo md5(iconv("UTF-8", "UTF-16LE", 'test'));

Спасибо большое. Этот вариант работает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий