PitBullko
31.01.2014, 00:52
Здравствуйте. Хочу написать сервис отправки icq-сообщений с сайта. За основу взял web-icq, посмотрел заголовки, все понятно, кроме одного есть переменная sig_sha256, которую мне непонятно откуда взять.
Читал много форумов, нашел ответ, что эта переменная генрируется так:
Code:
$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=0946134E4C7F11D18222444553540000&buildNumber=410&clientName=gromit&clientVersion=v0.1&events=myInfo%2Cpresence%2Cbuddylist%2Ctyping%2Cim %2CsentIM%2CdataIM%2CofflineIM%2CuserAddedToBuddyL ist%2Clifestream%2Cservice&f=xml&interestCaps=8eec67ce70d041009409a7c1602a5c84&k=ic1Fvhd7u8Msuxui&language=ru-ru&rawMsg=1&sessionTimeout=60&ts=1391111100"
Что должно из этого получиться:
sig_sha256=3uQwCJijVG6PhLrCq5QaPt%2FztDZwnZfdmIH71 1m6TtA%3D
После этого я должен получить ответ с кодом сессии, но пока что результат - 401Authentication Required. statusDetailCode 100110011391111376
Буду благодарен за любую помощь
Читал много форумов, нашел ответ, что эта переменная генрируется так:
Code:
$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=0946134E4C7F11D18222444553540000&buildNumber=410&clientName=gromit&clientVersion=v0.1&events=myInfo%2Cpresence%2Cbuddylist%2Ctyping%2Cim %2CsentIM%2CdataIM%2CofflineIM%2CuserAddedToBuddyL ist%2Clifestream%2Cservice&f=xml&interestCaps=8eec67ce70d041009409a7c1602a5c84&k=ic1Fvhd7u8Msuxui&language=ru-ru&rawMsg=1&sessionTimeout=60&ts=1391111100"
Что должно из этого получиться:
sig_sha256=3uQwCJijVG6PhLrCq5QaPt%2FztDZwnZfdmIH71 1m6TtA%3D
После этого я должен получить ответ с кодом сессии, но пока что результат - 401Authentication Required. statusDetailCode 100110011391111376
Буду благодарен за любую помощь