Помогите, ЛогинСервер

Статус
В этой теме нельзя размещать новые ответы.

AdelinaMoore

Выдающийся
Местный
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Победитель в номинации 2020
Сообщения
159
Розыгрыши
0
Репутация
100
Реакции
149
Баллы
1 358
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
l2myth
Такая проблема, логин серв не шифрует пароли. Исходы на руках. Подскажите куда копать.
 
Логин сервер никогда не занимался шифрованием паролей, он занимается хешированием.
Возьми другой логин сервер либо поищи запрос записи в БД, он должен выглядит примерно так "INSERT INTO accounts", а там уже включай Шерлока и смотри где и как идет хеширование самого пароля и почему он не хешируется.
 
Спасибо, сегодня ковырну

Взял другой логин сервер, сравнил код PasswordHash.java 1в1. Прошелся по всему что связано с паролями все в порядке. Не могу пока понять в чем дело. Инсерт прописан верно...

public final static void initCrypt() throws Exception или public final static void initCrypt() throws Throwable . различие только в этом
 
ставил лог и выводим строку в лог
Java:
        String passwordHash = Config.DEFAULT_CRYPT.encrypt(password);
+ смотрим что там в конфигах
 
sha1 стоит в конфиге, ставил и винтерол, логин грузится отлично. самое странное что в игру пускает при таком пароле, в обычном виде

String user = new String(decrypted, 0x5E, 14).trim();
user = user.toLowerCase();
String password = new String(decrypted, 0x6C, 16).trim();
int ncotp = decrypted[0x7c];
ncotp |= decrypted[0x7d] << 8;
ncotp |= decrypted[0x7e] << 16;
ncotp |= decrypted[0x7f] << 24;

Вот этот кусок в другом логин сервер от скриптов закоментирован, попробую без этого куска тотже

Нет, тоже не то. Там у них другой тип. В общем реально хелп. Такое чувство что дело не в коде а в клиенте

for (PasswordHash c : Config.LEGACY_CRYPT) / собственно если даже я в ручну пасс сформирую sha1 допустим , залью в бд. не может логинится. хеширование вообще не работает как я понял

Все нашел затык) спасибо за наводки) Можно закрывать тему
 
String user = new String(decrypted, 0x5E, 14).trim();
user = user.toLowerCase();
String password = new String(decrypted, 0x6C, 16).trim();
int ncotp = decrypted[0x7c];
ncotp |= decrypted[0x7d] << 8;
ncotp |= decrypted[0x7e] << 16;
ncotp |= decrypted[0x7f] << 24;

полная замена этого старого кода с исходов л2скриптс. и добавление нового класса. Hash тупо не считался. Разъяснить что именно делал сложно) просто взял исходы и сверял их. так как в л2 скриптс хеш работает.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу