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

Статус
В этой теме нельзя размещать новые ответы.

trooll

PHP кодер
Регистрация
22 Дек 2008
Сообщения
482
Реакции
117
Доброго времени суток по Гринвичу:)

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

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

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

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

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

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

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

Проверить к сожалению что возвращают функции сейчас возможности нет в частности, нет возможности проверит перловскую md5_hex().
 
Есть и hex, а есть и md5:
PHP:
$str_md5=md5('Hello World!');//ed076287532e86365e841e92bfc50d8c
$str_hex=bin2hex('Hello World!');//48656c6c6f20576f726c6421
 
Есть и hex, а есть и md5:
PHP:
$str_md5=md5('Hello World!');//ed076287532e86365e841e92bfc50d8c
$str_hex=bin2hex('Hello World!');//48656c6c6f20576f726c6421

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

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


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

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

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


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

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

# md5($data,...)

This function will concatenate all arguments, calculate the MD5 digest of this "message", and return it in binary form. The returned string will be 16 bytes long.

The result of md5("a", "b", "c") will be exactly the same as the result of md5("abc").
# md5_hex($data,...)

Same as md5(), but will return the digest in hexadecimal form. The length of the returned string will be 32 and it will only contain characters from this set: '0'..'9' and 'a'..'f'.
 
В пехапе две функции: md5($text) и md5($text, true);
Так вот вторая возвращает 128-битное unsigned число, а первая - строку, содержащую hex-представление этого числа. Строка будет длиной 32 символа, т.к. каждый байт исходного числа в hex-представлении записывается парой символов (от '00' до 'FF').
 
Решение найдено...

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

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

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

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

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