Расшифровка пасса (алгоритм не известен)

Discussion in 'Песочница' started by Nek1t, 12 Mar 2010.

  1. Nek1t

    Nek1t Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    Есть пасс в довольно странном виде, я думаю, что это не хэш, а именно закодированный пасс - к примеру, есть зависимость от длины.
    Так же есть возможность шифровать любой пасс.
    Для примера(я все перевел в бейс64, т.к. непечатаемые символы):
    bugmen выглядит как:
    PHP:
    WeBueu/N5mfndkxsAysefw==
    aaaaaaaaaaaaaaaaa выглядит как:
    PHP:
    eFYCtPLC8chlvNBrX8k4clxXycMYn596ZIQjyh1mtrQ=
    Сказал бы я, что это обычный XOR, но число символов в зашифрованном/исходном виде не сходится, да и одинаковые символы кодируются по разному.
    Есть идеи, как узнать алгоритм/расшифровать?
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    скорее всего нужен ключ для расшифровки, а функция шифрования вполне может быть чонить вроде такой (с одного реального сайта, админ типо ушлый):

    PHP:
    <?php 
    function pass_in($string) {
    $result '';
    $error 'antichat';
    for(
    $i=1$i<=strlen($string); $i++) {
    $char substr($string$i-11);
    $keychar substr($error, ($i strlen($error))-11);
    $char chr(ord($char) + ord($keychar));
    $result .= $char;
    }
    return 
    $result;
    }
    ?>
    так вот $error = 'antichat'; надо знать, типо это и есть ключ

    PS: А вообще вариантов миллион и еще один
     
    1 person likes this.
  3. Nek1t

    Nek1t Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    Ок, понятно.
    Кстати говоря, в приведенном тобой коде идет обычное сложение ASCII-кодов и как результат одинаковая длина входных и выходных данных. В моем же случае этого не наблюдается.
     
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ключ может быть не один, ключ может быть массивом ключей и т.д.
     
  5. Nek1t

    Nek1t Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    181
    Likes Received:
    16
    Reputations:
    1
    Ну, какая разница, даже при нескольких ключах strlen($inputPass) == strlen($outputPass), нэ?
    Разве что если подмешивать лишние символы из тех же ключей.
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ну для первого символа например береш первое слово из массива, для второго - второе, тут ключевая строка здесь:

    $keychar = substr($error, ($i % strlen($error))-1, 1);

    а еррор может быть разный