PHP如何从字符串创建实际十六进制值

时间:2010-03-31 12:43:04

标签: php casting hex sha1

我有一个带有hexvalues的字符串,我和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 ,但没有任何效果(无法找到类型转换十六进制)

1 个答案:

答案 0 :(得分:2)

$s = "239ab9cb282daf66231dc5a4df6bfbae00000001";
echo sha1(pack('H*', $s));

输出:

ab94fcedf2664edfb9b291f85d7f77f27f2f4a9d