The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
/etc/shadow в нормальный MD5, !*! craZzZy, 23-Фев-09, 17:18  [смотреть все]
Есть файл /etc/shadow с паролями пользователей от почтового сервера. Зашифрованы они все с MD5 (имеют $1$ в начале). Пытался гуглить но так и не нашел как же образуется символьная строка шифрованного пароля из хэша MD5, а нужно эти пароли переделать в нормальный MD5 дайджест чтобы использовать их в базе данных mySQL (планирую использовать функцию MD5()). Посоветуйте что-нибудь дельное по этому поводу, заранее спасибо!!!
  • /etc/shadow в нормальный MD5, !*! Andrey Mitrofanov, 10:15 , 24-Фев-09 (1)
    >с MD5 (имеют $1$ в начале). Пытался гуглить но так и
    >не нашел как же образуется символьная строка шифрованного пароля из хэша

    man 5 shadow
    man 3 crypt

    • /etc/shadow в нормальный MD5, !*! craZzZy, 12:15 , 24-Фев-09 (2)
      >>с MD5 (имеют $1$ в начале). Пытался гуглить но так и
      >>не нашел как же образуется символьная строка шифрованного пароля из хэша
      >
      >man 5 shadow
      >man 3 crypt

      Вот не люблю таких людей которые думаю что другие не знают о наличии man'ов. Вы сами то пробовали открывать эти маны? Увидели там что-нибудь конкретное? Узнали как из строки $1$сольадальшекрокозябра сделать 16 байт md5 хэша? Так вот, нечего тогда давать такие ответы...

      • /etc/shadow в нормальный MD5, !*! NuclearCat, 12:30 , 24-Фев-09 (3)
        >>>с MD5 (имеют $1$ в начале). Пытался гуглить но так и
        >>>не нашел как же образуется символьная строка шифрованного пароля из хэша
        >>
        >>man 5 shadow
        >>man 3 crypt
        >
        >Вот не люблю таких людей которые думаю что другие не знают о
        >наличии man'ов. Вы сами то пробовали открывать эти маны? Увидели там
        >что-нибудь конкретное? Узнали как из строки $1$сольадальшекрокозябра сделать 16 байт md5
        >хэша? Так вот, нечего тогда давать такие ответы...

        Что за истерика? Там очень даже понятно все написано. Я именно оттуда и понял, что есмь salt, и где сам хеш. Естественно нужно еще почитать что такое salt, и что такое собственно хеш.

        • /etc/shadow в нормальный MD5, !*! craZzZy, 14:40 , 24-Фев-09 (4)
          >[оверквотинг удален]
          >>>man 3 crypt
          >>
          >>Вот не люблю таких людей которые думаю что другие не знают о
          >>наличии man'ов. Вы сами то пробовали открывать эти маны? Увидели там
          >>что-нибудь конкретное? Узнали как из строки $1$сольадальшекрокозябра сделать 16 байт md5
          >>хэша? Так вот, нечего тогда давать такие ответы...
          >
          >Что за истерика? Там очень даже понятно все написано. Я именно оттуда
          >и понял, что есмь salt, и где сам хеш. Естественно нужно
          >еще почитать что такое salt, и что такое собственно хеш.

          Маны это конечно хорошо, но как я и говорил в них по этому поводу конкретного ничего нету. Для тех кто не понял уточню проблему: есть пароли вида $1$+salt+hash , известно что хэш получен на основе алгоритма md5. Задача получить из строки hash, которая здесь не является md5 хэшем, 16 байт хэша md5. Т.е. меня интересует алгоритм, с помощью которого создается строка hash, методы преобразования строки hash до 16 байт md5. Сразу скажу, для тех кто хочет написать "Кури исходники crypt", я их обязательно покурю, если здесь никто не ответит, ведь, я думаю, кто-нибудь уже сталкивался с данной траблой...

          • /etc/shadow в нормальный MD5, !*! angra, 16:00 , 24-Фев-09 (5)
            Ну из man 3 crypt вы могли бы почерпнуть принцип работы crypt, особенно роль salt, и понять, что задача по переносу в другое приложение, не использующее salt, изначально обречена на провал.
            • /etc/shadow в нормальный MD5, !*! craZzZy, 17:19 , 24-Фев-09 (6)
              >Ну из man 3 crypt вы могли бы почерпнуть принцип работы crypt,
              >особенно роль salt, и понять, что задача по переносу в другое
              >приложение, не использующее salt, изначально обречена на провал.

              ((( Дайте мне стену я буду биться об нее головой! Что вы со мной так как будто я не читал ман, ЧИТАЛ я его и в ПЕРВУЮ ОЧЕРЕДЬ, про salt все прекрасно знаю и понимаю принципы его работы, с md5 тоже дело имел, как то даже оптимизированную библиотеку на ассемблере делал реализующую этот алгоритм. Использование для проверки пароля пользователя в БД mySQL возможно самый простой пример:


              SELECT 1 FROM access WHERE user='%u' AND hash=MD5(CONCAT('%p', salt));

              Вопрос в следующем: возможно ли из строки хэша в файле /etc/shadow получить md5 hash, который возможно бы было использовать для проверки пароля подобным образом (как в примере) и есть ли у кого-нибудь описание алгоритма делающего такое преобразование, или хотя бы описание алгоритма как вычисляется этот hash.

              • /etc/shadow в нормальный MD5, !*! angra, 19:01 , 24-Фев-09 (7)
                Ну тогда смотрите исходники crypt так как реализации могут различаться и всем программам рекомендуется вызывать системную библиотеку, а не пытаться сделать что-то самостоятельно. Если нужна проверка в мускуле, то воспользуйтесь encrypt она использует системный crypt и получите те же хеши, аналогично для проверки существующих
                select encrypt('plain','$1$salt');
                +--------------------------------+
                | encrypt('plain','$1$salt')     |
                +--------------------------------+
                | $1$salt$hNT0h3u4/siQo8dZQu7Ll. |
                +--------------------------------+

                select encrypt('plain','$1$salt$hNT0h3u4/siQo8dZQu7Ll.');
                +---------------------------------------------------+
                | encrypt('plain','$1$salt$hNT0h3u4/siQo8dZQu7Ll.') |
                +---------------------------------------------------+
                | $1$salt$hNT0h3u4/siQo8dZQu7Ll.                    |
                +---------------------------------------------------+

                Ну и наконец чисто перловая (за исключением собственно Digest::MD5) реализация алгоритма системного md5 crypt
                http://cpansearch.perl.org/src/LUISMUNOZ/Crypt-PasswdMD5-1.3...
                Из нее можно увидеть какое количество преобразований делается помимо вызова md5 хеширования.

                • /etc/shadow в нормальный MD5, !*! craZzZy, 20:04 , 24-Фев-09 (8)
                  >[оверквотинг удален]
                  >+---------------------------------------------------+
                  >| $1$salt$hNT0h3u4/siQo8dZQu7Ll.          
                  >         |
                  >+---------------------------------------------------+
                  >
                  >Ну и наконец чисто перловая (за исключением собственно Digest::MD5) реализация алгоритма системного
                  >md5 crypt
                  >http://cpansearch.perl.org/src/LUISMUNOZ/Crypt-PasswdMD5-1.3...
                  >Из нее можно увидеть какое количество преобразований делается помимо вызова md5 хеширования.
                  >

                  Спасибо за ответ, angra! На функцию encrypt() я уже заглядывался, вот только не мог получить ту же шифрованную строку что и в shadow, но по Вашему ответу я все понял. Еще раз спасибо!

                • /etc/shadow в нормальный MD5, !*! LS, 14:56 , 25-Фев-09 (9)
                  >[оверквотинг удален]
                  >+---------------------------------------------------+
                  >| $1$salt$hNT0h3u4/siQo8dZQu7Ll.          
                  >         |
                  >+---------------------------------------------------+
                  >
                  >Ну и наконец чисто перловая (за исключением собственно Digest::MD5) реализация алгоритма системного
                  >md5 crypt
                  >http://cpansearch.perl.org/src/LUISMUNOZ/Crypt-PasswdMD5-1.3...
                  >Из нее можно увидеть какое количество преобразований делается помимо вызова md5 хеширования.
                  >

                  умничка! +10.

                  PS а за такую постановку вопроса и развитие темы я бы автора на месте пристрелил.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру