Аналог функция md5_hex PERL в PHP

Тема в разделе "PHP", создана пользователем trooll, 15 фев 2011.

Статус темы:
Закрыта.
Модераторы: latteo
  1. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Доброго времени суток по Гринвичу:)

    Народ есть ли аналог функции md5_hex (функция в PERL) в PHP?
     
  2. Дерзкий

    Дерзкий Постоялец

    Регистр.:
    27 июн 2009
    Сообщения:
    100
    Симпатии:
    399
    есть md5 Только причём здесь раздел "Скидываемся"
     
  3. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Дико извиняюсь...

    Дико извиняюсь.

    Просьба модераторам перенести тему в раздел "PHP для начинающих".

    Запостил не в тот раздел:ah:, создавал тему, необходимо было срочно уходить по делам, замарочился не в тот раздел запостил, если бы Дерзкий не сказал думаю заметил бы не сразу.

    =-=-=-=-=-=-=-=-=-

    Что касается темы топика:

    То есть получается различий нет между функциями md5() в PHP и md5_hex() в PERL. Результат будет единый?

    Проверить к сожалению что возвращают функции сейчас возможности нет в частности, нет возможности проверит перловскую md5_hex().
     
  4. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    484
    Симпатии:
    185
    Есть и hex, а есть и md5:
    PHP:
    $str_md5=md5('Hello World!');//ed076287532e86365e841e92bfc50d8c
    $str_hex=bin2hex('Hello World!');//48656c6c6f20576f726c6421
     
  5. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Нет, тут дело такое, что необходимо что бы md5 был в hex, то есть другими словами что бы в PHP, какой то функцией, без ризницы самописной или стандартной, возвращалось то что возвращается функцией md5_hex() в PERL.

    Сам бы проверил что возвращают функции в PHP и PERL ну на данный момент нет возможности. Вот подумал может кто сталкивался с данной задачей и есть какое то решение или аналог.


    =-=-=-=-=-=-=-=-=

    Вообще сейчас подумал, вообще же у нас функция md5() в PHP дальше символа f-ки не уходит при генерации хеша, а значиться используется 16 система исчисление то есть другими словами hex, так что по идеи и должен возвращаться результат в hex формате после обработки функцией md5() в PHP, но сегодня проверял функцию md5() не прокатывает, нет необходимого результата.

    Попробую завтра по совету komyak обработать еще функцией bin2hex() может чего получиться.


    P.S.: Модератору Спасибо что перенес тему, еще раз извиняюсь за свою оплошность, в следующий раз буду стараться быть внимательнее.
     
  6. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    561
    аналог в пхп это просто md5()
    Вообще, если мне не изменяет память то hex - это код записанный в виде нескольких шестнадцатеричных цифр ( 0-9a-f ) а мд5 возвращает как раз последовательность 32-х шестнадцатеричных цифр.

    Просто md5 в перл отличается от md5 в пхп, а вот md5_hex в перле- возвращает тоже самое что и md5 в пхп. Из доков перла:

     
    trooll нравится это.
  7. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    737
    Симпатии:
    263
    В пехапе две функции: md5($text) и md5($text, true);
    Так вот вторая возвращает 128-битное unsigned число, а первая - строку, содержащую hex-представление этого числа. Строка будет длиной 32 символа, т.к. каждый байт исходного числа в hex-представлении записывается парой символов (от '00' до 'FF').
     
    trooll нравится это.
  8. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Решение найдено...

    Спасибо всем за участие в топике.

    В общем разобрался сегодня и все перепроверил.

    Оказывается не в той последовательности обработал данные с которых в дальнейшем снимался хеш функцией md5();

    Сейчас с уверенностью могу сказать что функции md5() (в PHP) и md5_hex() (в PERL) возвращают при своей отработке идентичный (одинаковый) результат.

    И как следствие функция md5() (в PHP) является аналогом функции md5_hex() (в PERL). Как говориться что и требовалось доказать.
     
Статус темы:
Закрыта.