PHP Как создать реальные шестнадцатеричные значения из строки - PullRequest
1 голос
/ 31 марта 2010

У меня есть строка с шестнадцатеричными значениями, которую я использую с sha1 ()

echo sha1("\x23\x9A\xB9\xCB\x28\x2D\xAF\x66\x23\x1D\xC5\xA4\xDF\x6B\xFB\xAE\x00\x00\x00\x01");

ab94fcedf2664edfb9b291f85d7f77f27f2f4a9d

теперь у меня есть другая строка с тем же значением, но не шестнадцатеричная.

$string2=strtoupper("239ab9cb282daf66231dc5a4df6bfbae00000001");

Я хочу преобразовать эту строку так, чтобы она читалась, как указано выше, и чтобы значение sha1 было таким же, как указано выше.

echo sha1(do_something($string2));

ab94fcedf2664edfb9b291f85d7f77f27f2f4a9d

Кто-нибудь знает, как преобразовать строку в реальные шестнадцатеричные значения?

Я пробовал с pack , sprinft , hexdec , но ничего не получалось (не удалось найти typecasting в hex)

1 Ответ

2 голосов
/ 31 марта 2010
$s = "239ab9cb282daf66231dc5a4df6bfbae00000001";
echo sha1(pack('H*', $s));

Выход:

ab94fcedf2664edfb9b291f85d7f77f27f2f4a9d
...