ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   Песочница (https://forum.antichat.io/forumdisplay.php?f=189)
-   -   авторизация и sin_sha256 (https://forum.antichat.io/showthread.php?t=405154)

PitBullko 31.01.2014 00:52

Здравствуйте. Хочу написать сервис отправки icq-сообщений с сайта. За основу взял web-icq, посмотрел заголовки, все понятно, кроме одного есть переменная sig_sha256, которую мне непонятно откуда взять.

Читал много форумов, нашел ответ, что эта переменная генрируется так:

Код:

$sessionkey = base64_encode(hash_hmac('sha256', 'пароль', 'sessionsecret', true));
$sig_sha256 = base64_encode(hash_hmac('sha256', $sessionkey, urlencode('GET-запрос'), true));

Но как бы я не старался - не получается подобрать правильный хэш.

Исходные данные:

пароль = "A12345";

$sessionsecret = VphV8sTeOfcRpxRs;

строка запроса = "GET&http://api.icq.net/aim/startSession?a=%2FwQAAAAAAACBzNTZhSF%2FZYncgXwYMum memWPCUxPnHkJmo9a8LmVK38E0vPVFp%2BupOkE2qL5gF%2BkS e0C3rOh%2FFlsw8j9a3y07dsbrG1Aep2UynCWgZ4DOScABndof NhWsvuA%2Bgd2EwXQDpBjZl5MWUmd6JfTnsMsew9oVdBfxo0D2 70dFk9dwosTzLc%3D&assertCaps=0946134E4C7F11D182224 44553540000&buildNumber=410&clientName=gromit&clie ntVersion=v0.1&events=myInfo%2Cpresence%2Cbuddylis t%2Ctyping%2Cim%2CsentIM%2CdataIM%2CofflineIM%2Cus erAddedToBuddyList%2Clifestream%2Cservice&f=xml&in terestCaps=8eec67ce70d041009409a7c1602a5c84&k=ic1F vhd7u8Msuxui&language=ru-ru&rawMsg=1&sessionTimeout=60&ts=1391111100"

Что должно из этого получиться:

sig_sha256=3uQwCJijVG6PhLrCq5QaPt%2FztDZwnZfdmIH71 1m6TtA%3D

После этого я должен получить ответ с кодом сессии, но пока что результат - 401Authentication Required. statusDetailCode 100110011391111376

Буду благодарен за любую помощь

alkos 31.01.2014 07:32

Зачем снова изобретать велосипед? Есть готовое решение: WebIcqPro.class.php. Подключаешь этот класс к своей программе и в путь.

Выглядеть все будет примерно так:

Код:

connect(UIN, PASSWORD)) {
    exit($icq->error . "\n");
}

// шлем сообщение на номер 100500
$icq->sendMessage('100500', 'Привет!');

}

$icq->disconnect();
?>


PitBullko 31.01.2014 13:53

Ну ё-маё! вчера пробовал этот класс, он писал мне то refused то establish, менял порты и адреса не помогало.

А сегодня уже все работает.

Заработался я видимо


Время: 06:26