Не знаю в какой раздел лучше поместить данную тему,поэтому пишу сюда...
Ни для кого не секрет что ко многим сборкам идут в комплекте скрипты и один из них добавляет юзера "root" с одноименным паролем. В этом же скриптике есть этот пароль в зашифрованном виде,в каком его и прописывают в базу. Вот тут и возник вопрос,каким образом происходит это шифрование? изучая скрипт понял что мне чего-то не хватает и это чего-то скорее всего определенный ключ,так ли это,если да,то где его мона выцепить?
Хочу в идеале написать прогу,которая сама будет шифровать эти пароли,но никак не могу добиться этого результата,пробовал и blowfish и md5,на выходе получаю не то число,что должно быть. Помогите или намекните кто знает.
Содрано из l2cp
При переводе на дельфи именно этой функции получаем совсем другой ответ,поэтому и возник вопрос,что упускаем?
в скрипте root соответствует
0xb1be70e9a83f19192cb593935ec4e2e2 а вот у меня получается
0x3562FDE8A93E18182DB492925FC5E3E3
не похоже прямо скажем,а вот в чем может быть дело,не понятно...
Шифрование пароля в оффе никакой не md5, не sha1, не base64, и не блоуфиш.
Это собственная частная разработка ncsoft, но правда кривая.
Пользуйтесь тем что есть, на php это все работает прекрасно.
ancient, старую l2cp используешь. Тут в некоторых строчках есть косяки с делением.
— Ålderdom - ingen glädje..
Внешне правда очень похоже на md5,и задумка у меня как раз была в том,чтобы уйти от скриптов php или asp...
А ну-ка, на. Попробуй эту пожувать
— Ålderdom - ingen glädje..
шифрование != хеширование
Lordaster, кстати если можешь выложи сырок.
Я тоже на делфи переписывал, но у меня гигантский вывод получился (
— Ålderdom - ingen glädje..
Покопайся может и найдешь что
Ну и хардкор у тебя...пипец, можно было все гораздо проще сделать, без min,high, без for.
А bytearray тут вообще можно было не использовать.
Мой совет, перепиши еще раз, по более схожему виду с php скриптом. И округления никакие можно не использовать.
И нафиг не нужен хардкор с bytearray, trunc итд. Эт не бухгалтерская прога всетаки )
Лучше использовать while, а вместо умножений и делений битовые сдвиги.
У тебя проблема в матем.части, ибо значения тут прут не пральные.
— Ålderdom - ingen glädje..
Сложно написано или просто,это десятое дело. Взято почти полностью со скрипта пхп.лучше скажи где ошибка ;)
Я не смог найти ошибку, судя по содержанию key/dst проблема скорей всего в самом "расчете", либо в циклах.
Зачем стока нагородил ))
Можно тупо взять из пхп, убрать intval, убрать $, поменять = на :=, и скобы почистить - и все, таким образом можно гарантировать отсутствие ошибок в мат.части.
— Ålderdom - ingen glädje..