ICQ протокол

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Пытаюсь написать свой icq клиент. Для авторизации серверу необходимо послать свой UIN и пароль по TLV, но пароль должен быть в зашифрованном виде, как его зашифровать? Пишу на C++.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

а разве этого условия не хватит «for (i = 0; i < strlen (password); i ++) » ведь цикл не будет выполняться после окончания пароль, или это для того если пароль больше чем roastingArray?

На случай если пароль длиннее чем roastingArray

Я не очень в английском силен, но вроде тут «the equivalent modulo byte in the roasting array» как раз об этом говорится — номер байта вычисляется по модулю.

а для чего нужно делать " i % length (roastingArray "?

Ну наверное так:
for (i = 0; i < strlen (password); i ++)

cryptedPassword [i] = password [i] ^ roastingArray [i % length (roastingArray)];

смотрел уже, ничего не нашел

Вот нашел инфу, но не совсем понял что надо днлать.
Passwords are roasted when sent to the host. This is done so they aren’t sent in “clear text” over the wire, although they are still trivial to decode. Roasting is performed by first xoring each byte in the password with the equivalent modulo byte in the roasting array (0xF3, 0×26, 0×81, 0xC4, 0×39, 0×86, 0xDB, 0×92, 0×71, 0xA3, 0xB9, 0xE6, 0×53, 0×7A, 0×95, 0×7C)

К примеру мой пароль 12345678 и как мне его преобразовать?

Підписатись на коментарі