Есть пасс в довольно странном виде, я думаю, что это не хэш, а именно закодированный пасс - к примеру, есть зависимость от длины. Так же есть возможность шифровать любой пасс. Для примера(я все перевел в бейс64, т.к. непечатаемые символы): bugmen выглядит как: PHP: WeBueu/N5mfndkxsAysefw== aaaaaaaaaaaaaaaaa выглядит как: PHP: eFYCtPLC8chlvNBrX8k4clxXycMYn596ZIQjyh1mtrQ= Сказал бы я, что это обычный XOR, но число символов в зашифрованном/исходном виде не сходится, да и одинаковые символы кодируются по разному. Есть идеи, как узнать алгоритм/расшифровать?
скорее всего нужен ключ для расшифровки, а функция шифрования вполне может быть чонить вроде такой (с одного реального сайта, админ типо ушлый): PHP: <?php function pass_in($string) { $result = ''; $error = 'antichat'; for($i=1; $i<=strlen($string); $i++) { $char = substr($string, $i-1, 1); $keychar = substr($error, ($i % strlen($error))-1, 1); $char = chr(ord($char) + ord($keychar)); $result .= $char; } return $result; } ?> так вот $error = 'antichat'; надо знать, типо это и есть ключ PS: А вообще вариантов миллион и еще один
Ок, понятно. Кстати говоря, в приведенном тобой коде идет обычное сложение ASCII-кодов и как результат одинаковая длина входных и выходных данных. В моем же случае этого не наблюдается.
Ну, какая разница, даже при нескольких ключах strlen($inputPass) == strlen($outputPass), нэ? Разве что если подмешивать лишние символы из тех же ключей.
Ну для первого символа например береш первое слово из массива, для второго - второе, тут ключевая строка здесь: $keychar = substr($error, ($i % strlen($error))-1, 1); а еррор может быть разный